#include <avr32/io.h>
Data Structures | |
struct | pwm_opt_t |
Input parameters when initializing a PWM channel. More... | |
Macros | |
#define | PWM_FAILURE -1 |
Value returned by function when it was unable to complete successfully for some unspecified reason. More... | |
#define | PWM_INVALID_ARGUMENT 1 |
Value returned by function when the channel number is invalid. More... | |
#define | PWM_INVALID_INPUT 1 |
Value returned by function when the input parameters are out of range. More... | |
#define | PWM_MODE_CENTER_ALIGNED 1 |
Operate PWM channel in center aligned mode. More... | |
#define | PWM_MODE_LEFT_ALIGNED 0 |
Operate PWM channel in left aligned mode. More... | |
#define | PWM_POLARITY_HIGH 1 |
PWM channel starts output high level. More... | |
#define | PWM_POLARITY_LOW 0 |
PWM channel starts output low level. More... | |
#define | PWM_SUCCESS 0 |
Value returned by function when it completed successfully. More... | |
#define | PWM_UPDATE_DUTY 0 |
PWM channel write in CUPDx updates duty cycle at the next period start event. More... | |
#define | PWM_UPDATE_PERIOD 1 |
PWM channel write in CUPDx updates period at the next period start event. More... | |
Functions | |
int | pwm_async_update_channel (unsigned int channel_id, const avr32_pwm_channel_t *pwm_channel) |
Update channel register CPRDx or CDTYx without synchronizing with the PWM period. This function uses the CUPDx register as a double buffer for the period or the duty cycle. Only the first 20 bits of cupd are significant. More... | |
int | pwm_channel_init (unsigned int channel_id, const avr32_pwm_channel_t *pwm_channel) |
Initialize a specific PWM channel. More... | |
int | pwm_init (const pwm_opt_t *opt) |
This function initialize the PWM controller (mode register) and disable the interrupt. More... | |
int | pwm_start_channels (unsigned long channels_bitmask) |
Start PWM channels. More... | |
int | pwm_stop_channels (unsigned long channels_bitmask) |
Stop PWM channels. More... | |
int | pwm_sync_update_channel (unsigned int channel_id, const avr32_pwm_channel_t *pwm_channel) |
Update channel register CPRDx or CDTYx by forcing synchronization with the PWM period. This function uses the CUPDx register as a double buffer for the period or the duty cycle. Only the first 20 bits of cupd are significant. More... | |