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