RT-Thread 移植是stm32F429 pwm例程

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

准备好后就可以开始了
这里我以f429为例,进入f429的bsp后进入env
RT-Thread 移植是stm32F429 pwm例程
输入menuconfig命令
RT-Thread 移植是stm32F429 pwm例程
按如下操作添加示例例程 按照路径一步步确认
RT-Thread 移植是stm32F429 pwm例程
这里我们选择pwm示例,选择后退出保存就可以了。
然后我们会发现我们文件夹里会多出一个文件,这就是我们刚刚添加的更新包
RT-Thread 移植是stm32F429 pwm例程
我们进入工程之后会发现env会给我们自己添加这个示例文件
RT-Thread 移植是stm32F429 pwm例程
如果没有添加的话自己手动添加也可以

打开示例文件如果发现上面的io口或者通道并不是我们想要的(我以正点原子pb1为输出为例),不是自己想要的话自己改就可以了。
RT-Thread 移植是stm32F429 pwm例程
改完之后关闭文件,进入rt-thread\bsp\stm32\stm32f429-atk-apollo(自己bsp工程的文件夹)这个文件进入env,输入menuconfig命令,进入RT-Thread 移植是stm32F429 pwm例程
勾选使能pwm驱动
RT-Thread 移植是stm32F429 pwm例程
RT-Thread 移植是stm32F429 pwm例程
选中需要使用的 PWM 通道后保存退出,使用 scons --target=mdk5 生成 mdk5 工程,打开工程进行编译并下载程序,就可以看到pwm可以输出了。
如果发现没有自己选择的pwm通道的不要慌,需要自己配置使能,
初始化 PWM 通道引脚(这一步的目的是使能相应的通道引脚)
进入 rt-thread\bsp\stm32l475-atk-pandora\board\CubeMX_Config 目录,双击打开 STM32L475VE.ioc 文件初始化 PWM 通道对应的引脚,这里以 PWM3 通道 4 为例,如下图所示
RT-Thread 移植是stm32F429 pwm例程
配置好以上5步,tim上面的!可以忽略,点击 GENERATE CODE 按钮生成代码,RT-Thread 只使用了 STM32CubeMX 生成的 stm32fxx_hal_msp.c 文件和 stm32fxx_hal_conf.h 文件,检查生成的 PWM 代码如下所示:
RT-Thread 移植是stm32F429 pwm例程
RT-Thread 移植是stm32F429 pwm例程
配置 Kconfig 文件(添加使能选项到menuconfig)
进入 rt-thread\bsp\stm32l475-atk-pandora\board 目录,添加 Kconfig 选项
RT-Thread 移植是stm32F429 pwm例程
保存后进入env后输入menuconfig命令,是不是很神奇自己选择的通道了,再次使能自己选择的pwm通道驱动就好了
RT-Thread 移植是stm32F429 pwm例程
退出后保存,使用 scons --target=mdk5 命令生成 mdk5 工程,打开工程并编译,如果工程提示 PWMn_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/pwm_config.h 中进行定义,如下图所示:
RT-Thread 移植是stm32F429 pwm例程
定义后再重复使能生成一下mdk5工程就配置完成了,基本和官网步骤大同小异。需要注意的是正点原子f429 pwm3通道4可以用灯显示现象,但pb1是推挽复用,官方代码是这样的
RT-Thread 移植是stm32F429 pwm例程
把红色筐里的隐掉就可以输出了。RT-Thread 移植是stm32F429 pwm例程
有错误欢迎改正,有问题同样欢迎骚扰。

上一篇:P7887-「MCOI-06」Existence of Truth【构造】


下一篇:ebay mettle印度网站oa 切换屏幕就报警