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