搭載STM32F103C8微控制器的STM32開(kāi)發(fā)板采用ARM Cortex M3架構(gòu),具有高運(yùn)行速度和更多外設(shè)選項(xiàng),因此越來(lái)越受歡迎。此外,由于該板可以使用Arduino IDE輕松編程,因此它已成為許多業(yè)余愛(ài)好者和工程師快速原型設(shè)計(jì)的首選。
為了對(duì)電路板進(jìn)行編程,我們使用了FTDI編程器模塊,并且在上傳和測(cè)試代碼時(shí)還必須在引導(dǎo)0跳線和1位置之間切換,這肯定是一項(xiàng)艱巨的任務(wù)。此外,開(kāi)發(fā)板上的迷你USB端口完全未使用。這樣做的原因是,購(gòu)買STM32開(kāi)發(fā)板時(shí),它沒(méi)有附帶Arduino就緒引導(dǎo)加載程序,因此當(dāng)通過(guò)USB連接時(shí),您的計(jì)算機(jī)不會(huì)發(fā)現(xiàn)該板。
希望存在一個(gè)由LeafLabs為Maple迷你板開(kāi)發(fā)的實(shí)驗(yàn)性引導(dǎo)加載程序。這個(gè)引導(dǎo)加載程序可以燒入STM32一次,然后我們可以直接使用STM32板的USB端口上傳程序,就像任何其他Arduino板一樣。但是,在記錄本教程時(shí),此引導(dǎo)加載程序仍處于開(kāi)發(fā)階段,不建議用于關(guān)鍵應(yīng)用程序。
所需材料
STM32 – (藍(lán)丸)開(kāi)發(fā)板 (STM32F103C8))
FTDI 程序員
面包板
連接線
帶互聯(lián)網(wǎng)的筆記本電腦
電路圖
要直接通過(guò)USB端口對(duì)STM32 Blue Pill板進(jìn)行編程,我們需要先將Maple引導(dǎo)加載程序閃存到MCU中。為此,我們需要使用串行FTDI板。該板連接到STM32的Rx和Tx引腳,如下所示。
FTDI 板的 Vcc 引腳連接到為板供電的 STM32 5V 引腳。接地連接到STM32的接地。FTDI 板的 Rx 和 Tx 引腳分別連接到 STM32 的 A9 和 A10 引腳。其中A9是STM32 MCU的Tx引腳,A10是Rx引腳。
上傳引導(dǎo)加載程序時(shí),確保主板上的引導(dǎo) 0 跳線引腳設(shè)置為 1(編程模式)。一旦引導(dǎo)加載程序被刷新,這個(gè)引腳就可以改變回初始位置(工作模式)。
將Maple引導(dǎo)加載程序上傳到STM32開(kāi)發(fā)板
完成上述連接后,將FTDI板連接到您的計(jì)算機(jī),然后按照步驟將引導(dǎo)加載程序刷新到STM32中。
第 1 步:我們必須從 github 頁(yè)面下載引導(dǎo)加載程序文件二進(jìn)制文件(bin 文件)。有許多版本的 bin 文件,對(duì)于 Blue Pill 板使用此 github 鏈接并單擊下載按鈕下載 bin 文件。
第 2 步:接下來(lái),我們必須下載并安裝STM閃存加載程序軟件,將下載的bin文件閃存到STM32中。單擊此鏈接進(jìn)入 ST 網(wǎng)站并滾動(dòng)到底部并單擊獲取軟件
步驟3:要下載軟件,您必須輸入您的電子郵件地址,下載鏈接將發(fā)送到您的電子郵件。然后點(diǎn)擊鏈接返回網(wǎng)站,再次單擊獲取軟件,您將開(kāi)始下載。是的,這有點(diǎn)令人沮喪,但這就是應(yīng)該做的。不要忘記檢查垃圾郵件文件夾中的電子郵件,有時(shí)電子郵件需要幾分鐘才能到達(dá)。
步驟4:下載安裝軟件后,確保您的STM32板通過(guò)FTDI板連接到計(jì)算機(jī),然后啟動(dòng)軟件。如果不使用設(shè)備管理器,該軟件將自動(dòng)檢測(cè)COM端口,并確保選擇正確的COM端口號(hào)。就我而言,它是COM4。將設(shè)置的其余部分保留如下。
第 5 步:?jiǎn)螕簟跋乱徊健卑粹o兩次,軟件將再次自動(dòng)檢測(cè)電路板詳細(xì)信息并顯示如下。我們使用的電路板是STM32F1,具有128K閃存。
第 6 步:在下一步中,選擇“下載到設(shè)備”,然后瀏覽到我們?cè)诓襟E 1 中下載 bin 文件的位置并選擇它。點(diǎn)擊下一步。
第 7 步:該軟件將下載一些所需的文件,如下所示,然后開(kāi)始刷新過(guò)程。
第 8 步:閃爍成功完成后,我們將看到以下屏幕。單擊關(guān)閉并退出應(yīng)用程序。我們已經(jīng)成功地用Arduino引導(dǎo)加載程序刷新了STM32板?,F(xiàn)在我們必須準(zhǔn)備Arduino IDE并安裝驅(qū)動(dòng)程序,然后才能對(duì)STM32板進(jìn)行編程。
準(zhǔn)備 Arduino IDE 并安裝驅(qū)動(dòng)程序
按照以下步驟下載并準(zhǔn)備與STM 32開(kāi)發(fā)板一起使用的Arduino IDE。
步驟1:- 如果您尚未安裝Arduino IDE,請(qǐng)從此鏈接下載并安裝它。確保選擇正確的操作系統(tǒng)。
步驟2:- 安裝Arduino IDE后,打開(kāi)并下載STM32板所需的軟件包。這可以通過(guò)選擇文件 -> 首選項(xiàng)來(lái)完成。
步驟3:- 單擊首選項(xiàng)將打開(kāi)下面顯示的對(duì)話框。
然后按確定。
步驟4:-現(xiàn)在轉(zhuǎn)到工具->板->板管理器。這將打開(kāi)開(kāi)發(fā)板管理器對(duì)話框,搜索“STM32F1”并安裝出現(xiàn)的軟件包。
第 5 步:安裝軟件包后,導(dǎo)航到 C:Program Files (x86)ArduinohardwareArduino_STM32-masterdriverswin,您可以在其中找到install_drivers.bat和install_STM_COM_drivers.bat。
第 6 步:?jiǎn)螕魞蓚€(gè) bat 文件并安裝驅(qū)動(dòng)程序。您將獲得如下所示的DOS屏幕。
?
現(xiàn)在,Arduino IDE已準(zhǔn)備好對(duì)STM32(Blue Pill)開(kāi)發(fā)板進(jìn)行編程,并且還安裝了驅(qū)動(dòng)程序。
直接通過(guò)USB端口對(duì)STM32(藍(lán)色藥丸)進(jìn)行編程
從STM32上卸下FTDI板和所有現(xiàn)有連接。只需使用STM32板上的微型USB端口將其連接到計(jì)算機(jī),如下所示。確保跳線 0 針腳重新定位在 0(操作模式)。此后,我們不再需要切換跳線來(lái)上傳和運(yùn)行程序。
您的計(jì)算機(jī)現(xiàn)在應(yīng)該能夠發(fā)現(xiàn)主板。如果您看到安裝了任何其他驅(qū)動(dòng)程序,請(qǐng)稍等片刻。然后進(jìn)入設(shè)備管理器,檢查是否在COM和端口部分下發(fā)現(xiàn)了您的STM32板,如下所示。Mine連接到COM8,名稱為Maple Mini。
轉(zhuǎn)到工具并向下滾動(dòng)以找到通用STM32F103C系列,如下所示。然后確保變體為64k閃存類型,CPU速度為72MHz,并將上傳方法更改為STM32duino引導(dǎo)加載程序。還要根據(jù)設(shè)備管理器上的COM端口選擇正確的COM端口。
完成所有更改后,檢查Arduino IDE的右下角,您應(yīng)該注意到正在設(shè)置以下設(shè)置。我的STM32板已連接到COM8,但您的可能有所不同
現(xiàn)在,Arduino IDE已準(zhǔn)備好對(duì)STM 32 Blue Pill開(kāi)發(fā)板進(jìn)行編程。讓我們將示例閃爍程序從Arduino IDE上傳到STM32 Blue Pill板,以確保一切正常。示例程序可在以下位置找到
在打開(kāi)的示例程序中,我們必須進(jìn)行一個(gè)小的更改。默認(rèn)情況下,該程序?qū)?PB1 編寫,但在我們的板上,板載 LED 連接到 PC13,因此將所有 PB1 替換為 PC13,我們很好繼續(xù)。修改后的完整示例程序也可以在本頁(yè)底部找到。
循環(huán)函數(shù)中的代碼如下所示,我們可以注意到 PC13 引腳保持高電平(打開(kāi))1000 毫秒,然后又打開(kāi) LOW(關(guān)閉)1000 毫秒,這是無(wú)限次完成的,因?yàn)樗幱谘h(huán)函數(shù)中。因此,LED 似乎以 1000 毫秒的間隔閃爍。
digitalWrite(PC13, HIGH); ? // turn the LED on (HIGH is the voltage level)
delay(1000); ? ? ? ? ? ? ?// wait for a second
digitalWrite(PC13, LOW); ? ?// turn the LED off by making the voltage low
delay(1000); ? ? ? ? ? ? ?// wait for a second
按下Arduino IDE上的上傳按鈕,您的程序應(yīng)該被編譯并上傳。如果一切按預(yù)期工作,那么您應(yīng)該在Arduino IDE控制臺(tái)上看到以下內(nèi)容。
如果程序已成功上傳,則您應(yīng)該會(huì)看到綠色 LED 以 1 秒的間隔閃爍,如下面的視頻所示。您還可以擺弄程序以增加或減少延遲?,F(xiàn)在,您可以像使用任何其他Arduino板一樣開(kāi)始使用STM32(Blue Pill)開(kāi)發(fā)板,也就是說(shuō),您不再需要更改跳線的位置或使用外部硬件來(lái)上傳和測(cè)試程序。
評(píng)論