PWM

PWM is used to generate analog signals to drive servos or buzzers

ledcSetup()

Function:

Sets up a PWM channel, frequency, and resolution.

Function Prototype:

void ledcSetup(uint8_t channel, double freq, uint8_t resolution_bits)

ledcAttachPin()

Function:

Binds the LEDC channel to a specified IO port for output.

Function Prototype:

void ledcAttachPin(uint8_t pin, uint8_t channel)

Usage 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() {}

ledcWrite()

Function:

Writes a duty cycle percentage to a channel.

Function Prototype:

void ledcWrite(uint8_t channel, uint32_t duty)

Usage 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);
}
On This Page