|
xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
|
版本:0.1 | 日期:2026-07-03 | 路径: platforms/components/xtiny/xt_hal/
xt_hal_pwm 是 xtiny 平台的 PWM(脉冲宽度调制)驱动模块,提供 PWM 初始化、占空比更新、启停控制五个接口。
设计理念: 先配置后启动 。 setup 配置频率和占空比后不会立即输出,需显式调用 start ;运行时可通过 set_duty 动态调整占空比。
仅依赖 xt_hal_internal.h ( xt_error.h )。
占空比使用 16 位无符号值,0 为最小(0),65535 为最大(~100)。模块提供宏 XT_HAL_PWM_DUTY(percentage) 将 0~100 的百分比转换为占空比值。
硬件通常基于定时器分频和周期计数实现 PWM,因此:
以下为函数签名大纲,完整的参数说明、返回值、注意事项请查看 xt_hal_pwm(PWM 驱动) 。
| 函数签名 | 说明 |
|---|---|
| xt_err_t xt_hal_pwm_setup(uint16_t pwm_id, uint32_t freq, uint16_t duty) | 初始化 PWM,设置频率(Hz)和占空比 |
| 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 输出 |
| 常量/宏 | 说明 |
|---|---|
| XT_HAL_PWM_INVALID_ID | 无效 PWM ID( 0xFFFF ) |
| XT_HAL_PWM_DUTY_MAX | 最大占空比值( UINT16_MAX ) |
| XT_HAL_PWM_DUTY(percentage) | 0~100 百分比转 16 位占空比 |