Writes a PWM wave to a pin. You can use this to make an LED get brighter or dimmer, control a servomotor, etc. After a call to pwmWrite(), the pin will output a steady square wave with the given duty cycle. You can change the duty cycle later by calling pwmWrite() again with the same pin and a different duty.
On the Maple, the pins which support PWM are: 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 14, 24, 27, and 28.
The Arduino function analogWrite() is an alias for pwmWrite(), but it is badly named, and its use is discouraged.
Contents
Set the PWM duty on the given pin.
User code is expected to determine and honor the maximum value (based on the configured period).
Sets the output to the LED proportional to the value read from the potentiometer:
int analogPin = 3; // potentiometer connected to analog pin 3
void setup() {
pinMode(BOARD_LED_PIN, OUTPUT); // sets the LED pin as output
pinMode(analogPin, INPUT_ANALOG); // sets the potentiometer pin as
// analog input
}
void loop() {
int val = analogRead(analogPin); // read the input pin
pwmWrite(BOARD_LED_PIN, val * 16); // analogRead values go from 0
// to 4095, pwmWrite values
// from 0 to 65535, so scale roughly
}