一、在ST官網下載STM32CubeIDE而不是STM32CubeMX,而且STM32CubeIDE是免費的。(STM32CubeIDE不支持中文路徑,否則編譯會出錯)html
二、若是你用的是keil開發環境那麼 STM32CubeIDE =(STM32CubeMX + Keil)STM32CubeMX只是一個配置代碼生成器服務器
三、STM32CubeIDE 軟件下載連接:https://www.st.com/zh/development-tools/stm32cubeide.html#tools-softwareide
四、STM32CubeMX 軟件下載連接:https://www.st.com/zh/development-tools/stm32cubemx.html函數
五、下載完成後開始安裝,能夠修改安裝路徑,其他所有按照默認便可(本次只安裝 STM32CubeIDE )ui
六、安裝完成後打開軟件,設置本身的工做環境路徑,點擊Launch(路徑不能有中文,有中文會編譯錯誤)操作系統
七、點擊 Start new STM32 project 建立一個新的工程項目,輸入硬件上對應的芯片型號,點擊Next,輸入工程名稱 BASIC_GPIO,點擊Next 彈出對話框,點擊Yes。debug
八、建立完成以後,如下界面就是建立的新工程3d
九、開始配置工程參數:1)配置SYS調試方式,2)配置系統時鐘RCC,3)配置GPIO端口調試
十、配置調試方式(debug方式根據本身的硬件選擇合適的選項,本次使用的是CMSIS DAP debug ,用的是野火指南者開發板選擇 JTAG ( 5 pins ) htm
十一、配置系統時鐘RCC(採用外部晶振8MHz,最高主頻爲72MHz)
十二、配置GPIO端口(本次硬件爲野火指南者)以LED燈爲例,硬件電路圖以下
1三、能夠對每個GPIO參數進行修改(在圖上對着對應引腳鼠標左右點擊能夠配置,具體操做本身多點幾下就明白了)
1四、由於配置了GPIO外設端口,在如下位置修改生成對應的H文件和C文件
1五、點擊保存會彈出是否生成代碼,點擊是生成響應的代碼,在如下位置能夠看到生成代碼
1六、在位置1處右擊鼠標選擇 Build Project 編譯工程項目程序,能夠看到編譯後的代碼狀況
1七、如今開始編寫代碼控制LED燈的狀態(本次使用的是HAL庫 <<HAL通常指硬件抽象層。硬件抽象層是位於操做系統 內核與硬件電路之間的接口層,其目的在於將硬件抽象化。它隱藏了特定平臺的硬件接口細節,爲操做系統提供虛擬硬件平臺,使其具備硬件無關性,可在多種平臺上進行移植>> )
1八、GPIO用的是HAL庫,大部分函數都是以HAL開頭的,在main程序中編寫如下代碼,並編譯:(編輯代碼的時候能夠用代碼補全功能快捷鍵: ALT+/ )添加的代碼必定要在/* USER CODE BEGIN */和/* USER CODE END */之間,否則保存或者編譯會把代碼刪除掉。
1九、編譯經過,開始調試程序:經過軟件調試來查看Debug_num值的變化,和GPIO寄存器值的變化
20、在位置1(參看上邊第15步)右擊鼠標->Debug As -> STM32 Cortex-M C/C++ Application
2一、因爲本次使用的是CMSIS DAP Debug(秉火D普通DAP仿真器)STM32CubeIDE默認不支持DAP的,可是經過ST-Link(OpenOCD間接支持),重點::::::《選擇鏈接到遠程GDB服務器端口》
2二、配置完成以後,顯示沒有沒有ST-link
2二、出現錯誤顯示沒有ST-Link,是電腦沒有安裝相應的驅動
2三、安裝ST-LinkOCD驅動,下載連接:https://gnutoolchains.com/arm-eabi/openocd/ 下載完成後解壓打開文件夾
2四、在空白處按住Shift鍵右擊鼠標打開PowerShell窗口,如下命令按回車:./openocd -f interface/cmsis-dap.cfg -f target/stm32f1x.cfg 若是不成功多試幾回,在執行前最好把單片機和電腦都鏈接好。
2五、回到STM32CubeIDE中,從新編譯程序,點擊瓢蟲的那個按鈕,到如下界面
2六、根據LED燈的接口查看對應的GPIO端口的ODR寄存器,能夠看到數值的變化,同時觀察開發板的LED燈狀態。
2七、單擊全速運行按鈕,查看開發板LED燈閃爍狀態。
2八、因爲本次初始化的時候默認設置端口是低電平,也就是燈默認是亮的狀態,因此在LED_BLUUE閃爍的時候另外另個燈常亮,如何修改GPIO端口默認輸出的是高電平仍是低電平,能夠在如下位置修改。