分享我的学习经验: 使用 wm_iot_sdk_v2. 3 让 w800 得到高频率的 PWM

发布于 2025-03-24 18: 01: 05

最近遇到一个场景需求, 需要使用 4MHz 的 PWM
PWM 相关连接
查了文档发现, 文档上说频率必须在 3Hz~160KHz 之间, 这就满足不了需求了
image. png

但是我又看到上面写了: PWM 时钟频率为 40MHz, 按理来说应该可以分到 4MHz 的频率才对
于是我就试了一下. 结论肯定是可以的, 不然也不会有这篇文章了.

首先我们打开 SDK 的 PWM 例程 路径: wm_iot_sdk\examples\peripheral\pwm
复制该例程. 先将其它用不到的给删除. 然后添加死循环防止退出.
图片 1. png

然后将 55~60 行给修改.

image. png

稍微解释一下: chanel 是选择通道, 可选 0~4; mode 是模式, 可选独立输出模式, 全通道同步输出模式等; clkdiv 可以理解为二级分分频; period_cycle 可以理解为一级分频; duty_cycle 是占空比系数; autoload 是自动重载.
根据频率计算公式和占空比计算公式, 就可以得出频率为 4MHz 占空比为 50%的 PWM 了
image. png
image. png
image. png

0 条评论

发布
问题