mbed library sources

Fork of mbed-src by mbed official

Embed: (wiki syntax)

« Back to documentation index

PwmOut Class Reference

PwmOut Class Reference

A pulse-width modulation digital output. More...

#include <PwmOut.h>

Public Member Functions

 PwmOut (PinName pin)
 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.
PwmOutoperator= (float value)
 A operator shorthand for write()
 operator float ()
 An operator shorthand for read()

Detailed Description

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:
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.

Definition at line 53 of file PwmOut.h.


Constructor & Destructor Documentation

PwmOut ( PinName  pin )

Create a PwmOut connected to the specified pin.

Parameters:
pinPwmOut pin to connect to

Definition at line 61 of file PwmOut.h.


Member Function Documentation

operator float (  )

An operator shorthand for read()

Definition at line 145 of file PwmOut.h.

PwmOut& operator= ( float  value )

A operator shorthand for write()

Definition at line 133 of file PwmOut.h.

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.

Definition at line 96 of file PwmOut.h.

void period_ms ( int  ms )

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

Definition at line 102 of file PwmOut.h.

void period_us ( int  us )

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

Definition at line 108 of file PwmOut.h.

void pulsewidth ( float  seconds )

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

Definition at line 114 of file PwmOut.h.

void pulsewidth_ms ( int  ms )

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

Definition at line 120 of file PwmOut.h.

void pulsewidth_us ( int  us )

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

Definition at line 126 of file PwmOut.h.

float read ( void   )

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

Returns:
A 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>.

Definition at line 86 of file PwmOut.h.

void write ( float  value )

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

Parameters:
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.

Definition at line 72 of file PwmOut.h.