diff --git a/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm.md b/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm.md index 001d67d7eec937c2caeb04463b6ff5659b12961a..a4607b88d318efb89d27dc11582a3e7c6146df0e 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm.md @@ -70,6 +70,15 @@ rt_err_t rt_pwm_set(struct rt_device_pwm *device, | -RT_ENOSYS | 设备操作方法为空 | | 其他错误码 | 执行失败 | +PWM 的通道 channel 可为正数或者负数。因为有的芯片的PWM是具有互补输出功能的,即PWM的某一个通道是可以靠两个引脚来发出一对互补的波形。当通道号为正数的时候,代表使用PWM的正常输出波形引脚;为其负数的时候,代表使用PWM的互补输出波形引脚。 + +使用示例如下所示: + +``` c +#define PWM_DEV_CHANNEL 1 /* PWM通道的CH1引脚 */ +#define PWM_DEV_CHANNEL -1 /* PWM通道的CH1N引脚 */ +``` + PWM 的输出频率由周期时间 period 决定,例如周期时间为 0.5ms (毫秒),则 period 值为 500000ns(纳秒),输出频率为 2KHz,占空比为 pulse / period,pulse 值不能超过 period。 使用示例如下所示: @@ -105,6 +114,9 @@ rt_err_t rt_pwm_enable(struct rt_device_pwm *device, int channel); | -RT_ENOSYS | 设备操作方法为空 | | 其他错误码 | 设备使能失败 | +> [!NOTE] +> 注:这个函数并不会使能PWM互补输出的两个引脚,只能使能其中的某一个引脚(CHx或者CHxN)。 + 使用示例如下所示: ```c @@ -140,6 +152,9 @@ rt_err_t rt_pwm_disable(struct rt_device_pwm *device, int channel); | -RT_EIO | 设备句柄为空 | | 其他错误码 | 设备关闭失败 | +> [!NOTE] +> 注:这个函数并不会同时失能PWM互补输出的两个引脚,只能失能其中的某一个引脚(CHx或者CHxN)。 + 使用示例如下所示: ```c