對于開發闆來說,點亮第一個LED可能就像程式裡的HELLO WORLD!一樣重要吧。
由于缺少資源,點亮這個LED浪費了我兩天的寶貴時光,也沒能成功,後來想到了老師一直強調的要看晶片手冊和原理圖,想想LED應該也不難,那麼從零應該也是可以的。
對于STM32來說最難的是配置底層檔案了,然而STM32CUBEMX可以幫助我們完成這一項操作,關于STM32CUBEMX的使用方法網上有好多,然而我竟然在B站搜尋到了視訊教程!而且講的也很好!
接下來要說的内容是對B站UP主的現學現賣和自己的一些補充。
首先你需要找到原理圖和晶片手冊
不說廢話直接放連接配接
https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/stm32f4discovery.html
這個連接配接應該可以找到STM32F4絕大部分資料,但是對于我們今天的任務好像沒有啥用。
https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f411ediscovery.html#design-scroll
這裡就是STM32F411 discovery開發闆的資料啦,在這裡我們主要看使用者手冊這一部分
找到LED連接配接的管腳
打開這份檔案我們可以看到開發闆上的LED連接配接到了哪裡
可以看到橙色的LED連接配接到了GPIO的PD13。
使用STM32cubeMx進行底層配置
打開cubeMx
建立工程
根據開發闆上的晶片型号選擇STM32F411VET6,注意使用搜尋功能(左上角紅色方框)獲得更好體驗。
點選START PROJECT開始配置。
找到PD13管腳,将他設定成GPIO_OUTPUT (左鍵點選管腳,選擇GPIO_OUTPUT)
在project manager裡選擇路徑,檔案名,注意選擇IDE為MDK-ARM V5。
點選generate code建立MDK工程
等待一會會提示生成成功,是否打開工程?選擇打開工程即可(這一步 忘記截圖了)
在主函數裡的while(1)循環中讓LED點亮延時熄滅延時
HAL庫manual
https://www.st.com/content/ccc/resource/technical/document/user_manual/2f/71/ba/b8/75/54/47/cf/DM00105879.pdf/files/DM00105879.pdf/jcr:content/translations/en.DM00105879.pdf
是以我們隻需要在main函數中加入如下代碼(while循環自動生成)
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_RESET);
HAL_Delay(500);
/* USER CODE BEGIN 3 */
}
點選全部編譯
編譯結束沒有錯誤沒有警告。
燒錄進開發闆即可觀察到橙色LED閃爍。
我踩過的坑
首先411闆上有兩個USB接口,一個是micro usb一個是sub mini口,最開始我以為是要接micro口就在淘寶上買了兩根線,賣家剛發貨我就找到了之前的手機,插上線之後發現電源等都不亮
“不會是燒了吧”
懷着忐忑的心情多次實驗無果,查閱使用者手冊發現
竟然是mini!于是我又淘寶了兩根mini線,然後下單之後母上大人就找到了一根古老的用在MP4上的mini口的資料線。。。
“竟然能用”
接下來的故事就是我有兩個快遞在路上,然而他們看上去沒有什麼用了。。。
上述工程檔案我已經放在CSDN下載下傳區了,系統隻讓我設定成5币。。。反正代碼很少,沒有必要去下載下傳了。。。。