AIROC™ BTSDK v4.9 - Documentation | ||||
PWM Functions. More...
Functions | |
wiced_bool_t | wiced_hal_pwm_start (uint8_t channel, PwmClockType clk, uint32_t toggleCount, uint32_t initCount, wiced_bool_t invert) |
Configures, enables, and starts the PWM to be active on a preconfigured GPIO pin. More... | |
wiced_bool_t | wiced_hal_pwm_change_values (uint8_t channel, uint32_t toggleCount, uint32_t initCount) |
Changes the PWM settings after the PWM HW has already been started. More... | |
uint32_t | wiced_hal_pwm_get_toggle_count (uint8_t channel) |
Returns the current toggle count setting for the corresponding PWM channel. More... | |
uint32_t | wiced_hal_pwm_get_init_value (uint8_t channel) |
Returns the current initial count setting for the corresponding PWM channel. More... | |
void | wiced_hal_pwm_disable (uint8_t channel) |
Disables the PWM channel. More... | |
void | wiced_hal_pwm_enable (uint8_t channel) |
Enables the PWM channel which is already preconfigured. More... | |
void | wiced_hal_pwm_configure_pin (uint8_t pin, uint8_t PWM) |
Configure any GPIO as any PWM port. More... | |
void | wiced_hal_pwm_get_params (uint32_t clock_frequency_in, uint32_t duty_cycle, uint32_t pwm_frequency_out, wiced_pwm_config_t *params_out) |
Calculate PWM parameters. More... | |
PWM Functions.
wiced_bool_t wiced_hal_pwm_change_values | ( | uint8_t | channel, |
uint32_t | toggleCount, | ||
uint32_t | initCount | ||
) |
Changes the PWM settings after the PWM HW has already been started.
(!) Note that the maximum width or period of the PWM is 0xFFFF (16-bits).
channel | - Desired PWM channel to set [0-5]. |
toggleCount | - The number of ticks to wait before toggling the signal. |
initCount | - Initial value for the counter. |
void wiced_hal_pwm_configure_pin | ( | uint8_t | pin, |
uint8_t | PWM | ||
) |
Configure any GPIO as any PWM port.
pin | : pin to configure as PWM |
PWM | which PWM channel to set the pin to (0 - 5) |
void wiced_hal_pwm_disable | ( | uint8_t | channel | ) |
Disables the PWM channel.
channel | - Desired PWM channel to stop/disable. |
void wiced_hal_pwm_enable | ( | uint8_t | channel | ) |
Enables the PWM channel which is already preconfigured.
channel | - Desired PWM channel to enable. |
uint32_t wiced_hal_pwm_get_init_value | ( | uint8_t | channel | ) |
Returns the current initial count setting for the corresponding PWM channel.
channel | - Desired PWM channel from which to obtain the initial count. |
void wiced_hal_pwm_get_params | ( | uint32_t | clock_frequency_in, |
uint32_t | duty_cycle, | ||
uint32_t | pwm_frequency_out, | ||
wiced_pwm_config_t * | params_out | ||
) |
Calculate PWM parameters.
[in] | clock_frequency_in | - in clock frequency |
[in] | duty_cycle | - duty cycle in percentage (0 to 100) |
[in] | pwm_frequency_out | - Desire PWM output frequency |
[out] | params_out | - PWM params |
uint32_t wiced_hal_pwm_get_toggle_count | ( | uint8_t | channel | ) |
Returns the current toggle count setting for the corresponding PWM channel.
channel | - Desired PWM channel from which to obtain the toggle count. |
wiced_bool_t wiced_hal_pwm_start | ( | uint8_t | channel, |
PwmClockType | clk, | ||
uint32_t | toggleCount, | ||
uint32_t | initCount, | ||
wiced_bool_t | invert | ||
) |
Configures, enables, and starts the PWM to be active on a preconfigured GPIO pin.
(!) Note that the desired GPIO pin must have already been configured as output. See the HW muxing section in the Kit Guide or HW User Manual for your device for more information.
channel | - Desired PWM channel to use [0-5]. |
clk | - PMU_CLK or LHL_CLK |
toggleCount | - The number of ticks to wait before toggling the signal. |
initCount | - Initial value for the counter. |
invert | - 1 to invert the signal. |
The following example outputs a signal on P28 using the PMU clock.
(!) Note that the maximum width or period of the PWM is 0xFFFF (16-bits).
(!) Note that if you use PMU_CLK instead of LHL_CLK, a call to wiced_hal_aclk_enable() is required. When configuring aclk, ACLK0 is not avaliable for use with PWM–only ACLK1.
(!) Note that each PWM<#> channel corresponds to a specific GPIO pin, and said pin must be configured for output before PWM may use it. Please reference the Kit Guide or HW User Manual for your device for more information on which pins support PWM on your platform.
/// UINT16 init_cnt = 0xFE55; /// UINT16 toggle_cnt = 0xFF2A; /// wiced_hal_gpio_configurePin(28, GPIO_OUTPUT_ENABLE, 0); /// wiced_hal_aclk_enable(256, ACLK1, ACLK_FREQ_24_MHZ); /// wiced_hal_pwm_start(PWM2, PMU_CLK, toggle_cnt, init_cnt, 0); ///