RT-Thread 移植是stm32F429 pwm例程

估計來到這裏的小夥伴都應該和我差不多,剛開始把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 不停的由暗變到亮,然後又從亮變到暗。
有錯誤歡迎改正,有問題同樣歡迎騷擾。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章