16#if XF_HAL_PWM_IS_ENABLE
18#include "../kernel/xf_hal_dev.h"
23#define XF_HAL_PWM_TYPE XF_HAL_PWM
40#define XF_HAL_PWM_CHECK(condition, retval, format, ...) \
41 XF_CHECK(condition, retval, TAG, format, ##__VA_ARGS__)
59#if XF_HAL_LOCK_IS_ENABLE
66#if XF_HAL_LOCK_IS_ENABLE
100#if XF_HAL_LOCK_IS_ENABLE
106#if XF_HAL_LOCK_IS_ENABLE
125#if XF_HAL_LOCK_IS_ENABLE
131#if XF_HAL_LOCK_IS_ENABLE
150#if XF_HAL_LOCK_IS_ENABLE
156#if XF_HAL_LOCK_IS_ENABLE
175#if XF_HAL_LOCK_IS_ENABLE
181#if XF_HAL_LOCK_IS_ENABLE
200#if XF_HAL_LOCK_IS_ENABLE
206#if XF_HAL_LOCK_IS_ENABLE
225#if XF_HAL_LOCK_IS_ENABLE
231#if XF_HAL_LOCK_IS_ENABLE
247#if XF_HAL_LOCK_IS_ENABLE
253#if XF_HAL_LOCK_IS_ENABLE
266#if XF_HAL_LOCK_IS_ENABLE
272#if XF_HAL_LOCK_IS_ENABLE
285#if XF_HAL_LOCK_IS_ENABLE
291#if XF_HAL_LOCK_IS_ENABLE
uint32_t xf_gpio_num_t
gpio 序号。
xf_err_t xf_hal_pwm_enable(xf_pwm_num_t pwm_num)
pwm 启用函数。启用后,pwm 信号开始输出。
uint32_t xf_pwm_num_t
pwm 序号。
xf_err_t xf_hal_pwm_set_freq(xf_pwm_num_t pwm_num, uint32_t freq)
pwm 设置输出频率。
uint32_t xf_hal_pwm_get_duty(xf_pwm_num_t pwm_num)
pwm 获取占空比。
xf_err_t xf_hal_pwm_init(xf_pwm_num_t pwm_num, uint32_t freq, uint32_t duty)
pwm 初始化函数。使用 pwm 之前必须要进行初始化。
xf_err_t xf_hal_pwm_set_gpio(xf_pwm_num_t pwm_num, xf_gpio_num_t io_num)
pwm 设置 gpio 占空比。
uint32_t xf_hal_pwm_get_freq(xf_pwm_num_t pwm_num)
pwm 获取输出频率。
xf_err_t xf_hal_pwm_set_duty_resolution(xf_pwm_num_t pwm_num, uint32_t duty_resolution)
pwm 设置占空比分辨率。
xf_err_t xf_hal_pwm_set_duty(xf_pwm_num_t pwm_num, uint32_t duty)
pwm 设置占空比。
xf_err_t xf_hal_pwm_deinit(xf_pwm_num_t pwm_num)
pwm 反初始化函数。恢复到未初始化状态且回收相关资源。
xf_err_t xf_hal_pwm_disable(xf_pwm_num_t pwm_num)
pwm 禁用函数。禁用后,pwm 将不会输出。
bool xf_hal_pwm_is_enable(xf_pwm_num_t pwm_num)
pwm 是否启用。
@ XF_HAL_PWM_CMD_DUTY_RESOLUTION
#define XF_ASSERT(condition, retval, tag, format,...)
xfusion 断言宏(条件 不成立 时则输出日志后返回)。
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
int xf_lock_unlock(xf_lock_t lock)
解锁.
int xf_lock_lock(xf_lock_t lock)
锁定直至成功.
xf_hal_pwm_config_t config
xf_err_t xf_hal_driver_close(xf_hal_dev_t *dev)
xf_err_t xf_hal_driver_ioctl(xf_hal_dev_t *dev, uint32_t cmd, void *config)
xf_err_t xf_hal_driver_open(xf_hal_dev_t *dev, xf_hal_type_t type, uint32_t id)
xf_hal_dev_t * xf_hal_device_find(xf_hal_type_t type, uint32_t id)
xf_err_t xf_hal_driver_register(xf_hal_type_t type, xf_hal_flag_t flag, xf_hal_dev_create_t constructor, const xf_driver_ops_t *driver_ops)
xf_hal_dev_t * xf_hal_driver_create(xf_hal_type_t type, uint32_t id)
struct _xf_hal_pwm_t xf_hal_pwm_t
static xf_hal_dev_t * pwm_constructor(xf_pwm_num_t pwm_num)
#define XF_HAL_PWM_CHECK(condition, retval, format,...)
xf_err_t xf_hal_pwm_register(const xf_driver_ops_t *driver_ops)
pwm 设备注册。
xf_hal 的 pwm(脉冲宽度调制) 设备抽象。
#define XF_LOGE(tag, format,...)