api / mbed / trunk / PwmOut

PwmOut

class PwmOut : public Base

A pulse-width modulation digital output

Example

// Fade a led on.
#include "mbed.h"

PwmOut led(LED1);

int main() {
    while(1) {
        led = led + 0.01;
        wait(0.2);
        if(led == 1.0) {
            led = 0;
        }
    }
}

Note that on the LPC1768 and LPC2368, the PWMs all share the same period - if you change the period for one, you change it for all.  Although routines that change the period maintain the duty cycle for its PWM, all other PWMs will require their duty cycle to be refreshed.

PwmOutA pulse-width modulation digital output
Functions
PwmOutCreate a PwmOut connected to the specified pin
writeSet the ouput duty-cycle, specified as a percentage (float)
readReturn the current output duty-cycle setting, measured as a percentage (float)
periodSet the PWM period, specified in seconds (float), keeping the duty cycle the same.
period_msSet the PWM period, specified in milli-seconds (int), keeping the duty cycle the same.
period_usSet the PWM period, specified in micro-seconds (int), keeping the duty cycle the same.
pulsewidthSet the PWM pulsewidth, specified in seconds (float), keeping the period the same.
pulsewidth_msSet the PWM pulsewidth, specified in milli-seconds (int), keeping the period the same.
pulsewidth_usSet the PWM pulsewidth, specified in micro-seconds (int), keeping the period the same.
operator=A operator shorthand for write()
operator float()An operator shorthand for read()

Functions

PwmOut

PwmOut(PinName pin,  
const char *name =  NULL)

Create a PwmOut connected to the specified pin

Variables

pinPwmOut pin to connect to

write

void write(float value)

Set the ouput duty-cycle, specified as a percentage (float)

Variables

valueA floating-point value representing the output duty-cycle, specified as a percentage.  The value should lie between 0.0f (representing on 0%) and 1.0f (representing on 100%).  Values outside this range will be saturated to 0.0f or 1.0f.

read

float read()

Return the current output duty-cycle setting, measured as a percentage (float)

Variables

returnsA floating-point value representing the current duty-cycle being output on the pin, measured as a percentage.  The returned value will lie between 0.0f (representing on 0%) and 1.0f (representing on 100%).

Note

This value may not match exactly the value set by a previous write.

period

void period(float seconds)

Set the PWM period, specified in seconds (float), keeping the duty cycle the same.

Note

The resolution is currently in microseconds; periods smaller than this will be set to zero.

period_ms

void period_ms(int ms)

Set the PWM period, specified in milli-seconds (int), keeping the duty cycle the same.

period_us

void period_us(int us)

Set the PWM period, specified in micro-seconds (int), keeping the duty cycle the same.

pulsewidth

void pulsewidth(float seconds)

Set the PWM pulsewidth, specified in seconds (float), keeping the period the same.

pulsewidth_ms

void pulsewidth_ms(int ms)

Set the PWM pulsewidth, specified in milli-seconds (int), keeping the period the same.

pulsewidth_us

void pulsewidth_us(int us)

Set the PWM pulsewidth, specified in micro-seconds (int), keeping the period the same.

operator=

PwmOut& operator= (float value)

A operator shorthand for write()

operator float()

operator float()

An operator shorthand for read()

class PwmOut : public Base
A pulse-width modulation digital output
PwmOut(PinName pin,  
const char *name =  NULL)
Create a PwmOut connected to the specified pin
void write(float value)
Set the ouput duty-cycle, specified as a percentage (float)
float read()
Return the current output duty-cycle setting, measured as a percentage (float)
void period(float seconds)
Set the PWM period, specified in seconds (float), keeping the duty cycle the same.
void period_ms(int ms)
Set the PWM period, specified in milli-seconds (int), keeping the duty cycle the same.
void period_us(int us)
Set the PWM period, specified in micro-seconds (int), keeping the duty cycle the same.
void pulsewidth(float seconds)
Set the PWM pulsewidth, specified in seconds (float), keeping the period the same.
void pulsewidth_ms(int ms)
Set the PWM pulsewidth, specified in milli-seconds (int), keeping the period the same.
void pulsewidth_us(int us)
Set the PWM pulsewidth, specified in micro-seconds (int), keeping the period the same.
PwmOut& operator= (float value)
A operator shorthand for write()
operator float()
An operator shorthand for read()