xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_hal_pwm(PWM 驱动)

XTINY HAL PWM 模块接口 更多...

宏定义

#define XT_HAL_PWM_INVALID_ID   (0xFFFF)
#define XT_HAL_PWM_DUTY_MAX   (UINT16_MAX)
#define XT_HAL_PWM_DUTY(percentage)
 百分比转占空比值宏

函数

xt_err_t xt_hal_pwm_setup (uint16_t pwm_id, uint32_t freq, uint16_t duty)
 初始化 PWM
xt_err_t xt_hal_pwm_close (uint16_t pwm_id)
 关闭 PWM
xt_err_t xt_hal_pwm_set_duty (uint16_t pwm_id)
 更新占空比
xt_err_t xt_hal_pwm_start (uint16_t pwm_id)
 启动 PWM 输出
xt_err_t xt_hal_pwm_stop (uint16_t pwm_id)
 停止 PWM 输出

详细描述

XTINY HAL PWM 模块接口

宏定义说明

◆ XT_HAL_PWM_DUTY

#define XT_HAL_PWM_DUTY ( percentage)
值:
((uint16_t)((((uint32_t)(percentage) << 16) - ((uint32_t)(percentage))) / 100UL))

百分比转占空比值宏

将 0~100 的百分比转换为 16 位占空比值(0~65535)。

参数
percentage百分比值(0~100)

在文件 xt_hal_pwm.h 第 45 行定义.

◆ XT_HAL_PWM_DUTY_MAX

#define XT_HAL_PWM_DUTY_MAX   (UINT16_MAX)

在文件 xt_hal_pwm.h 第 34 行定义.

◆ XT_HAL_PWM_INVALID_ID

#define XT_HAL_PWM_INVALID_ID   (0xFFFF)

在文件 xt_hal_pwm.h 第 33 行定义.

函数说明

◆ xt_hal_pwm_close()

xt_err_t xt_hal_pwm_close ( uint16_t pwm_id)

关闭 PWM

参数
pwm_idPWM 索引
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_pwm_set_duty()

xt_err_t xt_hal_pwm_set_duty ( uint16_t pwm_id)

更新占空比

参数
pwm_idPWM 索引
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_pwm_setup()

xt_err_t xt_hal_pwm_setup ( uint16_t pwm_id,
uint32_t freq,
uint16_t duty )

初始化 PWM

参数
pwm_idPWM 索引
freq频率(单位:Hz)
duty占空比,共 16 位,实际会根据频率近似到最接近的占空比
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_pwm_start()

xt_err_t xt_hal_pwm_start ( uint16_t pwm_id)

启动 PWM 输出

参数
pwm_idPWM 索引
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_pwm_stop()

xt_err_t xt_hal_pwm_stop ( uint16_t pwm_id)

停止 PWM 输出

参数
pwm_idPWM 索引
返回
xt_err_t XT_EOK 成功,其他失败