
“使用stm32cubeMX 工具進行代碼生成,以LED點燈為例”
(相關資料圖)
01STM32CubeMx的使用條件
1.硬件條件:
(1)野火STM32F103開發板-指南者
(2)原理圖
原理圖可以參考官網,在stm32CubeMx入門教程的使用中會將用到的部分原理圖以圖片的形式貼出。
2.軟件
(1)STM32CubeMX 從STM公司官網下載。
(2) STM32CubeF1 這是F1系列的HAL庫,使用cubeMx進行代碼初始化配置和代碼生成就使用的這個庫,可以根據自己的單片機系列選擇下載地址。
(3) MDK 這個軟件大家可以自己下載,如果使用其他的編譯軟件CubeMX 也是支持的。
注意:SetupSTM32CubeMX最新的版本是6.1.0,安裝可簡單,一路next 可以完成,但是這個軟件是使用Java開發,需要使用Java的運行環境。安裝 jre軟件:jre-8u271-windows-x64,我會在百度云提供,大家可以自行下載最新版本。
02STM32CubeMx點亮LED燈
2.1 STM32CubeMx新建項目
菜單 File->New Project
新建項目如出現服務器的軟件更新等,選擇Cancel。
出現芯片選擇界面,根據需求選擇,這里選擇野火指南者的芯片STM32F103VET6,LQFP100,100引腳的芯片,點擊start project。
2.2 初始化代碼
(1)根據原理圖選擇時鐘。
在CubeMX中配置選擇時鐘,外部高速時鐘。
(2)時鐘配置
點擊 Clock Configuration,輸入外部8MHz,HCLK 72MHz。
(3)
GPIO 配置,根據LED引腳選擇GPIO
以LED-G
綠燈為例,配置LED引腳PB0,低速,輸出模式,上下拉,LED 為LED-G。
項目配置
(4)項目配置,如圖所示,添加項目名稱,可以選擇項目生成的位置,工具鏈選擇(這里使用MDK),堆棧設置,HAL庫的位置選擇。
(5)Code Generator 的設置
(6)代碼生成
配置到這兒,cubeMX已經完成了時鐘配置,GPIO配置。使用MDK打開項目就可以控制LED了,可以可出cubeMX主要完成代碼初始化配置。
03MDK 項目編寫應用代碼
使用MDK打開工程
對于cubeMX生成的代碼可以從圖中看出,軟件已經幫我們完成了基本的初始化,我們只需要在main.c while(1)主函數中添加我們的應用代碼,不像標準庫一樣手動的添加外設初始化、時鐘初始化的配置代碼。
現在我們需要操作GPIO來控制LED的燈的亮 or滅。GPIO的操作函數有很多,在stm32f1xx_hal_gpio.h 中查找。
我們在main.c 的主函數中while(1)循環中加入控制LED燈的代碼,如下圖所示:
HAL_Delay()是毫秒延遲函數,參數3000是3s。使用HAL_GPIO_WritePin() 寫入RESET 和SET 控制寫1和寫0。
編譯程序
編譯程序沒有出錯,配置編譯器進行程序下載。下載器的選擇配置如下圖所示。
04看效果如何
可以看出LED-綠色的燈美三秒閃爍一下。
標簽: