國內的 Stduino IDE 基於 STM32 的串列埠通訊與 LED 燈閃爍

zcj鹹魚翻身發表於2020-12-19

本文內容:大概是受到 Arduino IDE 的啟發,網上有一個國人版的 MCU 整合開發平臺, stduino IDE(http://www.stduino.com/pindex.php),請試玩之,然後談一下體會,比如:已經有了 Keil、Ardunio,覺得是否還有必要 “ 再造車輪 ” ?

Stduino IDE 安裝環境:Windows 10

——硬體:

一、安裝 Stduino

  • 進入上面的官網地址,點選“ 開始使用 ”。
    在這裡插入圖片描述
  • 雲盤下載。
    在這裡插入圖片描述
  • 輸入密碼後,進入以下介面,選擇 Win版,進入該檔案。
    在這裡插入圖片描述
  • 隨意選擇一個壓縮包,都是相同的,只是壓縮方式不同而已。
    在這裡插入圖片描述
  • 解壓縮檔案後,進入資料夾。
  • 找到 Stduino.exe 檔案,雙擊開啟即可執行 Stdino。
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 這個軟體的風格很像 VS2019 ,左邊檔案列表,中間程式碼編輯區,下面除錯結果顯示。

二、使用 Stduino

1、硬體連線

  • 使用 USB 線連上 USB 轉串列埠,使用杜邦線連線 SWD ,SWD 怎麼連呢?繼續往下看。
    在這裡插入圖片描述
  • 看板子的背面,這裡我們只需要用杜邦線依次連線 SWCLK、GND、SWDIO、3V3 就行了。

說明:
NRST:非同步復位腳,重置除了 RTC 的暫存器以及後備儲存器的暫存器;
SWCLK:時鐘開關;
GND:接地;
SWDIO:輸入/輸出控制。
3V3:電源。

在這裡插入圖片描述

  • 杜邦線的另一端接 ST_LINK ,根據正面提示的引腳來進行接入,如下圖:
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 然後將兩個 USB 介面插到電腦上,並開啟開關(這樣,板子就連通了電腦),之後可以進行程式的燒錄。
  • 連上電腦後, Stduino 會檢測到埠(和我不一樣的話正常)。
    在這裡插入圖片描述

2、燒錄程式

String data = "";

void setup() {
  // put your setup code here, to run once:
  pinMode(PB0, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  while (Serial.available() > 0)  
  {
    data += char(Serial.read());
    delay(2);
  }
  if (data == "stop!")
  {
    digitalWrite(PB0, HIGH);
    Serial.println("STM32 has stopped!\n");
    data = "";
    while(1);
  }
  digitalWrite(PB0, HIGH); //turn the LED on (HIGH is the voltage level)
  delay(1000); // wait for a second
  digitalWrite(PB0, LOW); //turn the LED off by making the voltage LOW
  delay(1000); // wait for a second
  Serial.println("Hello World!");
  delay(1000); // wait for a second
}

在這裡插入圖片描述

說明:STM32 指南者的 LED 燈的介面如下:
——PB5 紅色
——PB1 藍色
——PB0 綠色
可以自己改變程式碼中的 PB 介面,試驗下不同的 LED 閃爍,當然還可以自己更改程式碼設定成 3 種顏色迴圈閃爍,很簡單。

  • 點選編譯按鈕進行編譯。
    在這裡插入圖片描述
  • 編譯完成後如下圖所示(編譯速度有點慢)。
    在這裡插入圖片描述
  • 點選下載按鈕燒錄程式到 STM32 上。
    在這裡插入圖片描述
  • 這時報錯了!
    Error: Old ST-LINK firmware version. Upgrade ST-LINK firmware
  • 到 Stduino 官網查了下,才知道需要手動更新驅動。
    在這裡插入圖片描述

3、更新驅動

  • 在安裝路徑 Stduino\main\tool\Servers\STM32CubeProgrammer\binst 下,雙擊 ST-LinkUpgrade.exe 程式更新即可。
    在這裡插入圖片描述
  • 然後又彈出如下的錯誤。
    在這裡插入圖片描述
  • 拔掉兩個 USB 介面,重新插上去後,就可以了(記得開啟開關)。
  • 然後點選 Device Connect ,然後點選 Yes>>>> 即可開始更新。
    在這裡插入圖片描述

4、結果顯示

  • 重新燒錄程式,顯示如下,即可成功。
    在這裡插入圖片描述
  • 此時 STM32 上的 LED 在不斷的閃爍。
    在這裡插入圖片描述
  • 開啟串列埠監視器(右上角的小眼睛)。
    在這裡插入圖片描述
  • 設定波特率為 115200 ,然後再開啟串列埠,就可以看到接收區不斷接收到字串,當我傳送 stop! 後,STM32 停止傳送資料,LED 燈也停止閃爍。
    在這裡插入圖片描述

三、總結

這款軟體是根據國外的燒錄軟體 Arduino IDE 得到的靈感,並製作出的一款國內的燒錄軟體 Stduino IDE,其風格很像 VS2019 ,雖然整個介面看起來比 Arduino 要複雜得多,但是其實操作起來很簡單,我覺得唯一不足的地方就是第一次編譯的時候,時間有點長。

可以與我的另一篇部落格《Arduino 基於 STM32 的串列埠通訊與 LED 燈閃爍 》進行對比兩款軟體的區別,如果有什麼好的建議可以到 Stduino 官網提出來。

總之,能有一款國內的燒錄軟體是一大進步,希望的是能有自己的想法創造出一款全新的全概念的軟體,而不是仿照,加油!支援 Stduino IDE!

相關文章