初步使用Ardunio IDE實現STM32的串列埠通訊

雲開處發表於2020-12-22

一、Ardunio IDE的安裝及配置

1.安裝JDK

由於Arduino IDE依賴JAVA開發環境,所以需要提前安裝JDK
官方地址

步驟如下:
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

2.下載Ardunio IDE

官網地址:https://www.arduino.cc/en/software.
網盤下載:arduino-1.8.13 windows
提取碼:hjf8

3.安裝Ardunio IDE

如果是下載的.zip檔案就不需要進行安裝了,直接點選Arduino.exe就可以執行。但是下載的檔案是.exe檔案就需要進行額外操作進行安裝過程參考:使用Ardunio IDE實現STM32板子的串列埠通訊.

4.配置環境

1)預設的Ardunio IDE是沒有STM32的開發環境,需要自己進行下載。

①到GitHub上下載支援包,網址:https://github.com/rogerclarkmelbourne.
在這裡插入圖片描述
在這裡插入圖片描述

Arduino_STM32 為庫檔案,下載後直接解壓到Arduino安裝資料夾下的hardware資料夾下即可。

  • 再次開啟 Arduino IDE時,工具→開發板下會增加支援的開發板數。

②在軟體中進行下載,過程參考:https://github.com/rogerclarkmelbourne.

二、Arduino IDE的串列埠通訊

1.實驗環境

主控晶片:STM32F103RCT6
實驗軟體:Arduino IDE 1.8.13
實驗器材:USB轉串列埠、野火MINI STM32開發板

2.程式碼:

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);//設定串列埠的波特率
  pinMode(PC2,OUTPUT);//PC2是藍色的,PC2表示LED的介面,還有一個是PC3

}
int flag=1;//串列埠傳送標誌位,1表示傳送,0表示停止傳送
void loop() {
  // put your main code here, to run repeatedly:
  if (flag == 1)
  {
    Serial.println("Hello World!");
    digitalWrite(PC2, HIGH);   //LED滅
    delay(500);   // 延時
    digitalWrite(PC2, LOW);   //LED亮
    delay(500);   //延時
  }
  stopSendData();
}

void stopSendData()
{
  String stopflag="stop!";//停止傳送資料訊號
  String receivedata="";//存放接受到的資料
  while(Serial.available()>0)//判斷串列埠是否還有資料
  {
    receivedata=Serial.readString();//讀取接收到的資料
  }
  if(receivedata==stopflag)//判斷接收到的資料是否為停止傳送資料的訊號
  {
    flag=0;
  }
}

3.程式配置

1)選擇晶片系列,根據晶片的型號選擇STM32F103R系列:
在這裡插入圖片描述

2)選擇晶片的型號STM32F 103RC:
在這裡插入圖片描述
3)選擇上傳方式Serial:
在這裡插入圖片描述
4)選擇埠COM6:

連線開發板後選擇埠

在這裡插入圖片描述

4.編譯

編譯時會提示檔案中無一個需要的arm軟體包,需要在軟體中下載。
在這裡插入圖片描述

在這裡插入圖片描述

三、總結

本文章使用Arduino IDE實現STM32的初步開發,相對Keil來說更加方便,沒有Keil那麼複雜,但是同時沒有Keil中許多程式碼編譯功能及其他基礎功能。

四、參考資料

Arduino開發環境IDE安裝使用.
使用Arduino IDE 開發STM32應用程式 .
使用Ardunio IDE實現STM32板子的串列埠通訊.

相關文章