pwmWrite() — Maple v0.0.10beta Documentation

### Navigation

- next
- previous |
- LeafLabs |
- Index »
- Complete Language Index »

# pwmWrite()

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.

The pins which support PWM have `PWM` listed underneath their number on your board’s silkscreen. These pin numbers are available to your program in the boardPWMPins board-specific array. The number of pins which are capable of PWM on your board is given by the `BOARD_NR_PWM_PINS` constant. These values are documented for each board in the Board Hardware Documentation pages.

The Arduino function analogWrite() is an alias for `pwmWrite()`, but it is badly named, and its use is discouraged.

Contents

- Library Documentation
- Example
- See Also

## Library Documentation

void pwmWrite(uint8 pin, uint16 duty_cycle)

  Set the PWM duty on the given pin.

  User code is expected to determine and honor the maximum value (based on the configured period).

  Parameters: | `pin` - PWM output pin `duty_cycle` - Duty cycle to set.

## Example

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
    }

## See Also

- Maple PWM tutorial
- boardPWMPins

### Navigation

- next
- previous |
- LeafLabs |
- Index »
- Complete Language Index »