A pulse-width modulation digital output. More...
#include <PwmOut.h>
Public Member Functions | |
PwmOut (PinName pin) | |
Create a PwmOut connected to the specified pin. More... | |
PwmOut (const PinMap &pinmap) | |
Create a PwmOut connected to the specified pin. More... | |
void | write (float value) |
Set the output duty-cycle, specified as a percentage (float) More... | |
float | read () |
Return the current output duty-cycle setting, measured as a percentage (float) More... | |
void | period (float seconds) |
Set the PWM period, specified in seconds (float), keeping the duty cycle the same. More... | |
void | period_ms (int ms) |
Set the PWM period, specified in milliseconds (int), keeping the duty cycle the same. More... | |
void | period_us (int us) |
Set the PWM period, specified in microseconds (int), keeping the duty cycle the same. More... | |
int | read_period_us () |
Read the PWM period. More... | |
void | pulsewidth (float seconds) |
Set the PWM pulsewidth, specified in seconds (float), keeping the period the same. More... | |
void | pulsewidth_ms (int ms) |
Set the PWM pulsewidth, specified in milliseconds (int), keeping the period the same. More... | |
void | pulsewidth_us (int us) |
Set the PWM pulsewidth, specified in microseconds (int), keeping the period the same. More... | |
int | read_pulsewitdth_us () |
Read the PWM pulsewidth. More... | |
void | suspend () |
Suspend PWM operation. More... | |
void | resume () |
Resume PWM operation. More... | |
PwmOut & | operator= (float value) |
A operator shorthand for write() More... | |
PwmOut & | operator= (PwmOut &rhs) |
A operator shorthand for write() More... | |
operator float () | |
An operator shorthand for read() More... | |
A pulse-width modulation digital output.
Example
PwmOut | ( | PinName | pin | ) |
Create a PwmOut connected to the specified pin.
pinmap | reference to structure which holds static pinmap. |
operator float | ( | ) |
PwmOut& operator= | ( | float | value | ) |
void period | ( | float | seconds | ) |
Set the PWM period, specified in seconds (float), keeping the duty cycle the same.
seconds | Change the period of a PWM signal in seconds (float) without modifying the duty cycle |
void period_ms | ( | int | ms | ) |
Set the PWM period, specified in milliseconds (int), keeping the duty cycle the same.
ms | Change the period of a PWM signal in milliseconds without modifying the duty cycle |
void period_us | ( | int | us | ) |
Set the PWM period, specified in microseconds (int), keeping the duty cycle the same.
us | Change the period of a PWM signal in microseconds without modifying the duty cycle |
void pulsewidth | ( | float | seconds | ) |
Set the PWM pulsewidth, specified in seconds (float), keeping the period the same.
seconds | Change the pulse width of a PWM signal specified in seconds (float) |
void pulsewidth_ms | ( | int | ms | ) |
Set the PWM pulsewidth, specified in milliseconds (int), keeping the period the same.
ms | Change the pulse width of a PWM signal specified in milliseconds |
void pulsewidth_us | ( | int | us | ) |
Set the PWM pulsewidth, specified in microseconds (int), keeping the period the same.
us | Change the pulse width of a PWM signal specified in microseconds |
float read | ( | ) |
Return the current output duty-cycle setting, measured as a percentage (float)
int read_period_us | ( | ) |
Read the PWM period.
int read_pulsewitdth_us | ( | ) |
Read the PWM pulsewidth.
void resume | ( | ) |
Resume PWM operation.
Control the PWM state. This is primarily intended to resume PWM operations after a previous PwmOut::suspend call; This call restores the device state prior to suspension.
void suspend | ( | ) |
Suspend PWM operation.
Control the PWM state. This is primarily intended for temporary power-saving; This call can allow pwm to be temporarily disabled to permit power saving without losing device state. The subsequent function call must be PwmOut::resume for PWM to resume; any other calls prior to resuming are undefined behavior.
void write | ( | float | value | ) |
Set the output duty-cycle, specified as a percentage (float)
value | A 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. |