![]() |
NEORV32 - Software Framework Documentation
|
Pulse-Width Modulation Controller (PWM) HW driver header file. More...
Go to the source code of this file.
Data Structures | |
struct | neorv32_pwm_t |
Functions | |
Prototypes | |
int | neorv32_pwm_available (void) |
void | neorv32_pwm_setup (int prsc) |
void | neorv32_pwm_disable (void) |
void | neorv32_pwm_enable (void) |
int | neorv32_pmw_get_num_channels (void) |
void | neorv32_pwm_set (int channel, uint8_t dc) |
uint8_t | neorv32_pwm_get (int channel) |
IO Device: Pulse Width Modulation Controller (PWM) | |
#define | NEORV32_PWM ((neorv32_pwm_t*) (NEORV32_PWM_BASE)) |
enum | NEORV32_PWM_CTRL_enum { PWM_CTRL_EN = 0 , PWM_CTRL_PRSC0 = 1 , PWM_CTRL_PRSC1 = 2 , PWM_CTRL_PRSC2 = 3 } |
Pulse-Width Modulation Controller (PWM) HW driver header file.
#define NEORV32_PWM ((neorv32_pwm_t*) (NEORV32_PWM_BASE)) |
PWM module hardware access (neorv32_pwm_t)
PWM control register bits
int neorv32_pmw_get_num_channels | ( | void | ) |
Get number of implemented channels.
int neorv32_pwm_available | ( | void | ) |
Check if PWM unit was synthesized.
void neorv32_pwm_disable | ( | void | ) |
Disable pulse width modulation controller.
void neorv32_pwm_enable | ( | void | ) |
Enable pulse width modulation controller.
uint8_t neorv32_pwm_get | ( | int | channel | ) |
Get duty cycle from channel.
[in] | channel | Channel select (0..11). |
void neorv32_pwm_set | ( | int | channel, |
uint8_t | dc | ||
) |
Set duty cycle for channel.
[in] | channel | Channel select (0..11). |
[in] | dc | Duty cycle (8-bit, LSB-aligned). |
void neorv32_pwm_setup | ( | int | prsc | ) |
Enable and configure pulse width modulation controller. The PWM control register bits are listed in NEORV32_PWM_CTRL_enum.
[in] | prsc | Clock prescaler select (0..7). See NEORV32_CLOCK_PRSC_enum. |