RT-Thread 移植是stm32F429 pwm例程

7 篇文章 1 订阅
1 篇文章 0 订阅

估计来到这里的小伙伴都应该和我差不多,刚开始把rtt移植到stm32上,在用env配置的时候多少会遇到一些问题,我也是不会自己瞎搞搞出来了(哈哈哈,没办法,太菜了),所以希望你们更轻松点。
好了我们进入正题。
在开始之前需要 :
1、env配置好 env配置教程
2、示例代码下载好
代码链接
3、开发板
4、STM32CubeMX (直接搜索官网就可以了)

准备好后就可以开始了
这里我以f429为例,进入f429的bsp后进入env
在这里插入图片描述
输入menuconfig命令
在这里插入图片描述
按如下操作添加示例例程 按照路径一步步确认

这里我们选择pwm示例,选择后退出保存就可以了。
然后我们会发现我们文件夹里会多出一个文件,这就是我们刚刚添加的更新包
在这里插入图片描述
我们进入工程之后会发现env会给我们自己添加这个示例文件
在这里插入图片描述
如果没有添加的话自己手动添加也可以

修改使用的PWM通道
打开示例文件如果发现上面的io口或者通道并不是我们想要的(我以正点原子pb1为输出为例),不是自己想要的话自己改就可以了。
在这里插入图片描述

使能PWM通道
改完之后关闭文件,进入rt-thread\bsp\stm32\stm32f429-atk-apollo(自己bsp工程的文件夹)这个文件进入env,
输入menuconfig命令,进入在这里插入图片描述
勾选使能pwm驱动
在这里插入图片描述
在这里插入图片描述
选中需要使用的 PWM 通道后保存退出,使用 scons --target=mdk5 生成 mdk5 工程,打开工程进行编译并下载程序,就可以看到pwm可以输出了。
如果发现没有自己选择的pwm通道的不要慌,需要自己配置使能,步骤如下

初始化 PWM 通道引脚 (这一步的目的是使能相应的通道引脚)
进入 rt-thread\bsp\stm32l475-atk-pandora\board\CubeMX_Config 目录,双击打开 STM32L475VE.ioc 文件初始化 PWM 通道对应的引脚,这里以 PWM3 通道 4 为例,如下图所示
在这里插入图片描述
配置好以上5步,tim上面的!可以忽略,点击 GENERATE CODE 按钮生成代码,RT-Thread 只使用了 STM32CubeMX 生成的 stm32fxx_hal_msp.c 文件和 stm32fxx_hal_conf.h 文件,
检查生成的 PWM 代码
如下所示:
在这里插入图片描述
在这里插入图片描述
配置 Kconfig 文件 (目的是添加使能选项到menuconfig)
进入 rt-thread\bsp\stm32l475-atk-pandora\board 目录,自己手动添加 Kconfig 选项
在这里插入图片描述
保存后进入env后输入menuconfig命令,
通过ENV工具使能相应通道
是不是很神奇,选项上已经有自己选择的通道了,这是因为 Kconfig按照一定的格式来书写,menuconfig程序可以识别这种格式,然后从中提取
出有效信息组成menuconfig中的配置项。用户配置相关配置项后会在rtconfig.h中生
成对应的宏。在menuconfig界面下的界面,取决于Kconfig文件的内容。Kconfig语言内容将决定menuconfig界面。再次使能自己选择的pwm通道驱动就好了
在这里插入图片描述
退出后保存,使用 scons --target=mdk5 命令生成 mdk5 工程,打开工程并编译,如果工程提示 PWMn_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/pwm_config.h 中进行定义,如下图所示:
在这里插入图片描述
定义后再重复使能生成一下mdk5工程编译后就配置完成了,基本和官网步骤大同小异。需要注意的是正点原子f429 pwm3通道4可以用灯显示现象,但pb1是推挽复用,官方代码是这样的
在这里插入图片描述
把红色筐里的隐掉就可以输出了。在这里插入图片描述
示例代码不懂的可以去官网看一下手册官网链接
配置pwm的主要步骤就是:
查找 PWM 设备获取设备句柄。
设置 PWM 周期和脉冲宽度。
使能 PWM 设备。
while 循环里每 50 毫秒修改一次脉冲宽度。
将 PWM通道对应引脚和 LED 对应引脚相连,可以看到 LED 不停的由暗变到亮,然后又从亮变到暗。
有错误欢迎改正,有问题同样欢迎骚扰。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值