實驗目的
1,熟悉Keil MDK 工具軟體的使用方式,
2,能夠通過STM32CubeMX創建一個工程
3,掌握 Keil MDK 軟體的基本設計流程和設計步驟,能夠使用工具進行設計、編程、下載,
4,通過本實驗掌握的 GPIO 口的使用方法,
5,掌握如何利用 STM32L071芯片的 I/O 口控制 LED,
實驗環境
1,開物派 Zero 開發平臺
2,ST-Link 仿真器
3,Keil MDK 5.23 集成開發軟體
4,STM32CUBEMX 圖形開發軟體
5,PC 機 XP、 Window7/8/10 (32/64bit)
實驗內容
利用STM32CubeMX搭建一個跑馬燈工程,跑馬燈的本質是控制MCU的引腳高低電平,作為經典的測驗例程,可以讓大家對 STM32FL071芯片有個簡單的整體認識 ,
實驗步驟
1 跑馬燈硬體設計
1.1 觀察開發板LED原理圖
由圖可知,開發板上提供了2個LED給我們做實驗,這2個LED分別可以由PA6、PA7管腳來控制,而LED2、LED3的陽極通過一個電阻后接了3.3V,所以我們只需將對應的管腳拉低便能點亮對應的LED,
2、撰寫代碼
2.1 在桌面創建一個名為【LED】的檔案夾,來存放工程
2.2 在CubeMX上設定對應管腳
1,雙擊桌面【STM32CubeMX】圖示打開開始工程,點擊【ACCESS TO MCU SELECTOR】選擇開發板芯片,搜索輸入【L071RB】雙擊選擇右邊【STM32L071RBTx】進入配置界面
2,點擊左邊【System Core】進入下拉視窗,點擊【GPIO】進入管腳的設定界面,進入詳細界面后,可以看到我們配置過為Output的管腳有PA6、PA7兩個,雙擊【PA6】進入該管腳的詳細配置界面,
3,進入到對應管腳的詳細設定頁面后,可以看到一些選項,來配置這個GPIO管腳,我們需要將兩個管腳都配置一遍,
4,點擊【SYS】進入系統的設定界面,進入系統設定界面后,將【Debug Senial Wire】選項勾上,此選項是為了打開芯片的SWD介面,否則下次就無法燒寫代碼了,
5,點擊上方的【Project Manager】進工程管理界面,
6,完成代碼生成后,點擊【Open Project】按鈕,打開專案工程,
2.3 編輯工程
點擊【Open Project】進入到MDK5工程,在main.c中添加代碼到下圖位置,
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);
HAL_Delay(500);
點擊【保存】按鈕保存檔案,
3 編譯代碼
寫好代碼之后,點擊左上角【Build】編譯,底端顯示[0 Error,0 Warning]即表示程式無錯誤無警告成功編譯,如果有錯誤則有可能上一步的代碼沒有寫好,請重新檢查再編譯,
4 下載程式
1,將開發板上電,然后將燒寫器連插到開發板上并且插入到電腦上,
2,打開工程配置,選擇 【Debug】,勾選【Use】,選擇仿真工具為 【ST-Link Debugger】,點擊【Setting】
3,在彈出的視窗中,查看IDCODE一欄中的有顯示一串編碼則表明設備已經被識別,
4,關掉彈出的視窗后,點擊下載按鈕,將代碼下載到開發板上
5,代碼下載后,這時按下復位鍵,可以發現開發板上的LED以交替點亮的方式回圈閃爍!這樣我們一個MDK工程就算完成了,
實驗參考代碼
關注正道物聯網大講堂的公眾號
在公眾號里發訊息
下載|STM32 LED參考代碼
建議復制粘貼過去不會打錯字喲,
玩轉物聯網、添加下面微信好友,加入社區帶你飛!!!
關注下面微信公眾號二維碼,干貨多多,第一時間推送!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293037.html
標籤:其他
