Arduino Quick Start
PWM is used to generate analog signals to drive servos or buzzers
Function:
Sets up a PWM channel, frequency, and resolution.
Syntax:
void ledcSetup(uint8_t channel, double freq, uint8_t resolution_bits)
Function:
Binds the LEDC channel to a specified IO port for output.
Syntax:
void ledcAttachPin(uint8_t pin, uint8_t channel)
Example:
#include <M5StickC.h> void setup() { M5.begin(); ledcSetup(8, 1,10); // Set the frequency of LEDC channel 8 to 1 and the resolution to // 10 bits, that is, the duty cycle can be selected from 0 to // 1023. Set LEDC channel 8 frequency to 1, resolution to 10 bits, meaning the duty cycle can range from 0 to 1023. ledcAttachPin(32,8); // Set LEDC channel 8 to output on IO32. Set LEDC channel 8 for output on IO32.} void loop() {}
Function:
Writes a duty cycle percentage to a channel.
Syntax:
void ledcWrite(uint8_t channel, uint32_t duty)
Example:
#include <M5StickC.h>int freq = 1800;int channel = 0;int resolution_bits = 8;int buzzer = 2; void setup() { M5.begin(); ledcSetup(channel, freq, resolution_bits); ledcAttachPin(buzzer, channel);}void loop() { ledcWrite(channel, 128); delay(1000); ledcWrite(channel, 0); delay(1000);}