在開始在ArduinoIDE上開發前,請先參考以下兩篇,如果已經熟悉可忽略

STM32duino-如何在ArduinoIDE使用STM32(新版)(以STM32F103為例)

https://karta146831.pixnet.net/blog/post/337328807-stm32duino-%E5%A6%82%E4%BD%95%E5%9C%A8arduinoide%E4%BD%BF%E7%94%A8stm32(%E6%96%B0%E7%89%88)(%E4%BB%A5stm32f1

STM32duino-如何在ArduinoIDE使用STM32(新版)(以STM32L475為例)

https://karta146831.pixnet.net/blog/post/337315109-stm32duino-%E5%A6%82%E4%BD%95%E5%9C%A8arduinoide%E4%B8%8A%E9%96%8B%E7%99%BC%E6%9B%B4%E5%A4%9Astm32%E7%B3%BB%E5%88%97(%E4%BB%A5

 

由於功能非常簡單這邊不多做說明,下方有程式碼,請自行複製貼上

備註: 多個Serial的傳輸非常重要,原因在於有的STM並沒有虛擬COM的DRIVER可以使用,所以

就會需要這個功能了,也要記得準備相對數量的USB TO TTL

 

請參照下方腳位說明:

PWM:

PA0,PA1, PA2, PA3, PA6, PA7, PA8, PA9, PA10, PB0, PB6, PB7

 

ADC:

PA0,PA1, PA2, PA3, PA4, PA5, PA6, PA7

 

TXRX:

(這個的串口名稱是有規定不能隨意更改的,因為STM的溝通方式本來就不適用Arduino內建的Serial函式庫)

定義名稱

TX

R

Serial1

PA9

PA10

Serial2

PA2

PA3

Serial3

PB8

PB11

 

範例如下

image

I2C :(預設是默認使用I2C1也就是PB6,PB7,第二組需要另外再開啟)

SCL

SDA

PB6

PB7

PB10

PB11

 

程式碼:

HardwareSerial Serial1(PA10, PA9);//RX,TX
HardwareSerial Serial2(PA3, PA2);//RX,TX

void setup() {

  //Serial.begin(115200);//除非你用的板子有虛擬COM不然請不要直接使用
  Serial1.begin(115200);
  Serial2.begin(115200);
}
 
// the loop routine runs over and over again forever:
void loop() {
  
   int x = random(0,200);
   String T = String(x);

   //Serial.println( "HI random:" + T);//除非你用的板子有虛擬COM不然請不要直接使用
   Serial1.println( "HI random:" + T);
   Serial2.println( "HI random:" + T );
  
   delay(300);
  }

arrow
arrow
    創作者介紹
    創作者 凶王 的頭像
    凶王

    凶王的部落

    凶王 發表在 痞客邦 留言(0) 人氣()