6.2. hardware_pwm
Library Functions#
To use this library, add following to the C/C++ file,
#include <hardware/pwm.h>
and following to the CMakeLists.txt
file.
target_link_libraries(projectName pico_stdlib hardware_gpio hardware_pwm)
Following are some of the most commonly used functions for configuring the PWM peripheral.
6.2.1. uint8_t pwm_gpio_to_slice_num(uint8_t pinNo)
#
Get the PWM slice number for a GPIO number.
Function input
pinNo
can be any GPIO number, i.e. 0 through 29.Function returns a slice number, 0 through 7, corresponding to the GPIO number provided.
6.2.2. uint8_t pwm_gpio_to_channel(uint8_t pinNo)
#
Get the PWM channel number for a GPIO number.
Function input
pinNo
can be any GPIO number, i.e. 0 through 29.Function returns a channel number, 0 or 1, corresponding to the GPIO number provided.
6.2.3. pwm_set_clkdiv_int_frac(uint8_t sliceNum, uint8_t divInt, uint8_t divFrc)
#
Configure the clock divider integer and fractional values.
Function input
sliceNum
is the PWM slice number that you may want to configure.Function input
divInt
is the 8-bit integer part of the clock divider, 1 through 255.Function input
divFrc
is the 4-bit fractional part of the clock divider, 0 through 15.
6.2.4. pwm_set_wrap(uint8_t sliceNum, uint16_t top)
#
Configure the counter wrap value.
Function input
sliceNum
is the PWM slice number that you may want to configure.Function input
top
is the 16-bit counter wrap value, 0 through 65535.
6.2.5. pwm_set_chan_level(uint8_t sliceNum, uint8_t chanNum, uint16_t cc)
#
Configure the counter compare value.
Function input
sliceNum
is the PWM slice number that you may want to configure.Function input
chanNum
is the channel number of the slice that you may want to configure.Function input
cc
is the 16-bit counter compare value, 0 through 65535.
6.2.6. pwm_set_enabled(uint8_t sliceNum, bool enabled)
#
Enable or disable the PWM output.
Function input
sliceNum
is the PWM slice number that you want to enable or disable.Function input
enabled
must be a boolean value, i.e.0
to disable the output and1
to enable the output.