準(zhǔn)備用STM32的開發(fā)板寫一個(gè)直流無刷電機(jī)BLDC的驅(qū)動(dòng)程序,對(duì)Arduino IDE的編程模式比較熟悉,通過相應(yīng)的插件,Arduino IDE同樣可以支持STM32。
另外因?yàn)槭诸^沒有STM32的下載器,需要通過串口燒錄程序。準(zhǔn)備先用一個(gè)Samples中的點(diǎn)亮LED的示例來跑通這個(gè)STM32的開發(fā)流程,沒想到竟然折騰了差不多一天的時(shí)間,不懈努力,不輕言放棄,最后才在STM32開發(fā)板上,通過Arduino IDE,串口燒錄程序,成功點(diǎn)亮了IDE??吹絀DE一閃一閃,體驗(yàn)了成功的喜悅。
記錄一下折騰的過程。
手頭的STM32開發(fā)板的型號(hào)為STM32F401CxUx。本來準(zhǔn)備買來做USB聲卡的。
一、軟件安裝
1、在Adruino IDE中安裝STM32開發(fā)板插件。
點(diǎn)擊Adruino IDE File菜單,選擇"preferences.."

點(diǎn)開”Additional boards manager URLS" 添加STM32開發(fā)板的URL
打開左下方的連接,打開網(wǎng)址,查找STM32的官方鏈接??截惡蠹尤氲搅斜碇?。

打開Board Manager面板

安裝STM32插件

安裝好之后,tools菜單中會(huì)出現(xiàn)STM32芯片的選項(xiàng)

2、安裝STM32CubeProgrammer
到ST的官網(wǎng)注冊(cè)下載STM32CubeProgrammer,下載STM32CubeProgrammer后安裝,并安裝STM32的Bootloader串口驅(qū)動(dòng)程序。

安裝好之后,設(shè)備管理器會(huì)出現(xiàn)STM32 bootloader設(shè)備

二、串口連接STM32
為了讓電腦識(shí)別STM32的串口,需要設(shè)置STM32的BOOT0, BOOT1引腳,網(wǎng)上搜了一大遍,知道了設(shè)置BOOT0=1, BOOT1=0啟動(dòng)。但是把STM32板子前后翻了一個(gè)遍,也沒找到這兩個(gè)引腳在哪里。
最后問店家要了STM32板子的文檔,耐心的看了一下文檔。終于知道怎么設(shè)置BOOT0,BOOT1



把板子上的撥碼開關(guān)1和3用一根牙簽撥到ON的位置。即可設(shè)置成"System memory"的啟動(dòng)模式。
打開STM32CubeProgrammer,選擇USB,COM端口選COM1.即可連接STM32成功。這時(shí)可以通過STM32CubeProgrammer下載燒錄。

三、Arduino IDE連接STM32
首先要將STM32CubeProgrammer程序所在的目錄添加到系統(tǒng)的PATH路徑中,因?yàn)锳rduino將調(diào)用命令行的STM32CubeProgrammer_CLI程序

選擇STM32板子,COM1端口,將上傳模式更改為DFU模式

至此,所有的設(shè)置完成。
三、燒錄測(cè)試BLINK代碼
打開Arduino的閃燈Blink例子,編譯上傳,提示上傳成功。


可是,這個(gè)LED就是沒有閃。
用牙簽把BOOT0,BOOT1恢復(fù),拔掉USB重啟。仍然不閃。反復(fù)實(shí)驗(yàn),浪費(fèi)了幾根牙簽后,依然無果。。。
最后即將放棄的時(shí)候,看到有篇文章說要更改一下LED的管腳,打開STM32的圖一看,LED連接到PC13引腳。

把代碼中的LED_BUILTIN全部改成PC13, 編譯上傳。
奇跡出現(xiàn)了。
小藍(lán)燈終于閃了。
一天的功夫啊
PS:說明書中的文字綠燈應(yīng)該是藍(lán)燈