之前有粗略地學習過stm32F103的理論知識,但僅GPIO的配置、時鍾配置就讓人望而卻步。現在手頭有Nucleo STM32F042的開發板,而且ST已經推出STM32CubeMx圖形化的工具軟件,便於圖形化配置硬件自動生成初始化代碼,無論於熟手還是初學者都是個福音,因此可趁着便利條件逐步學習STM系列單片機的編程以及記錄下學習的實踐過程。
以下是基於keil點亮LED的實踐,其實開發板到手時,芯片已經有燒寫程序,裝好驅動,接上USB線LED燈就能閃亮了,另外還可以通過雲端mbed開發程序,這又是一大變革,與時俱進。
首先創建工程之前安裝三個軟件:Keil uVision 5,STM32CubeMX 4.15, STM32 ST-Link Utility,期間還要一些驅動軟件。

創建項目工程
啟動STM32CubeMx,點擊藍色“NewProject”,就手中的開發板芯片類型選擇配置


接下來查看原理圖的LED燈所在的線路,通過MB1180.pdf文件可以找到LED對應的GPIO口

完成上一個對話框,就可以進入管腳、時鍾等的配置,點擊相應的管腳就會彈出管腳模式選擇的對話框,圖中選作輸出模式

點擊“Clock Configuration”可以配置時鍾,這里沒有作特殊配置,就作默認選擇,其他選項卡也不作特殊配置。

點擊Configuration選項卡

最后點擊Apply ,OK就配置完成。
點擊圖標欄圖標生成項目

彈出的對話框,按英文提示填入必要信息以及選擇keil相應的開發環境

完成項目創建后,彈出

點擊“Open Project”,打開uVision 5 開發環境,打開Main.c 主程序

打開main.c 可以看到STM32CubeMx自動生成的初始化代碼,在GPIO的初始化代碼里找到LED所對應的GPIO初始化代碼,復制紅色框部分

粘貼在如下位置,並修改、添加如下代碼

保存並調試,生成HEX文件。
下載燒寫目標文件
用USB線連接開發板,電腦任務欄會彈出類似U盤的識別符號,打開ST-LINK Utility ,點擊Target->connect,成功連接開發板后,右上角和左下角都會顯示開發板信息

點擊Target->erase chip,擦除芯片中原有的程序,點擊確定。


點擊File->Open File,打開keil中生成的hex文件
點擊Target->Program &verify 燒寫程序,彈出對話框,點擊start

燒寫完成后,LED綠色燈就可以閃了

