在网上找了很多方法,配置pwm的都不相同,经过很多次尝试和踩雷,分享一下自己配置pwm的过程,希望大家少踩坑.
我一开始用的是rtthread5.1.0虽然配置成功了,但每次添加组件和在stm32cubemx配置代码,都会报错,得修改很多代码跟配置.这里的话我推荐使用rtthread4.1.1版本,在配置过程中非常流畅,几乎没有什么需要额外修改的.
1.创建工程(这里根据自己的芯片选择,我选择的是rtthread4.1.1没有的话去SDK管理器里面下载)
先编译,可以看到没错误,但这里不得不提一下新版本,直接编译会报错,修改下代码才可以,后续配置中遇到各种报错并且官方教程不适用还会有许多报错,这就是我为什么推荐用4.1.1了.这个版本很多官方教程也可以直接用,不会报错.
2.打开rt-thread studio的pwm组件
3.进入stm32cubemx
<1>配置调试器
<2>设置外部时钟源
<3>配置时钟
<4>配置定时器
这里就跟裸机一样,根据直接需求配置
<5>打开相应串口
<6>输出工程
建议都默认即可,点击生成代码
4.回到rt-thread studio
<1>点击更新软件包
<2>在board.h添加pwm
没有的话,就按照模板直接添加对应的pwm,并且添加对应的通道
<3>在pwm_config.h中添加对应pwm的结构体(按照后面的模板)
<4>配置pwm设备参数
<5>编译,烧录
<6>串口调试查看pwm
复位后看到这个标志,基本没啥问题了
输入msh指令查看pwm设备
pwm--查看pwm相关指令
pwm probe pwm1--查找pwm1设备(probe pwm1 success看到这个就说明基本上成功了)
>pwm get 1 查看pwm设备对应通道相关参数
修改pwm相关参数
pwm set 1 55555 22222 --修改pwm设备参数
pwm get 1
Info of device [pwm1] channel [1]:
period : 55544
pulse : 22211
Duty cycle : 39%
再次查看参数,可以看到修改成功,pwm输出大功告成.
总结:
rt-thread4.1.1在配置pwm以及在其它外设上是我用的比较顺利的版本,配置过程中基本上没什么报错,并且官方教程也都适用.