Arduino通過串口監視器收發數據


在串口監視器中發送數據,板子收到數據並打印出來。

不需要額外電路,但是板子必須連接電腦,Arduino IDE的串口監視器也需要被打開。

代碼

/*
  串口事件

 當新的串口數據到來時,我們會將它添加到一個緩存字符串中。當收到換行符時就將緩存字符串 
 輸出到串口監視器並將字符串清空。

 本例程的最好測試方式是使用不斷發送NMEA 0183語句的GPS接收器模塊

 代碼公開。
 */

String inputString = "";         // 緩存字符串
boolean stringComplete = false;  // 是否string已經完成緩存

void setup() {
  // 初始化串口:
  Serial.begin(9600);
  // 將inputString反轉200個字符:
  inputString.reserve(200);
}

void loop() {
  // 如果緩存string接收完成:
  if (stringComplete) {
    Serial.println(inputString);
    // 清空String:
    inputString = "";
    stringComplete = false;
  }
}

/*
  SerialEvent在arduino板上的RX引腳收到數據時會被系統自動調用。在系統內部,它是在每次loop函數執行時連帶執行的。因此如果再loop使用delay,serialEvent的調用也會被延遲,這樣就有可能一次收到>=2個字符。
 */
void serialEvent() {
  while (Serial.available()) {
    // 獲取新的字符:
    char inChar = (char)Serial.read();
    // 將它加到inputString中:
    inputString += inChar;
    // 如果收到了換行符,就將一個“旗標”變量設置為true,這樣loop函數就知道inputString已經緩存完成了:
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}

難道是並行的程序??

還有,波特率也不會算,I am so vegetable!

 

 

參考連接:https://www.kancloud.cn/yundantiankong/arduino_examples/431653


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM