1. 程式人生 > >Serial的基本使用和ArduinoIDE的串列埠工具——人人都能玩硬體

Serial的基本使用和ArduinoIDE的串列埠工具——人人都能玩硬體

瞭解了第一個程式之後呢,我們還需要學習一個很重要的類Serial

首先我們將Arduino與你的PC連線(用那根USB線)

我們對上一篇文章做個修改。先定義一個全域性變數int i=0在setup函式中新增Serial.begin(115200).在loop函式中新增Serial.println(i++);i%=100。

如下圖

#define sr_echo ;
int sr_

//-----------------------------------------------//
//這是設定程式
//這個函式將在微控制器通電後或reset時執行
//-----------------------------------------------//
void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);        //設定13號埠為輸出模式
  Serial.begin(115200);      //設定的波特率
}

//-----------------------------------------------//
//這個函式是迴圈執行程式,它將在setup()之後被執行
//當這個函式執行完畢後將會自動重新執行
//-----------------------------------------------//
void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(13, HIGH);     //設定13口輸出高電平
  delay(500);                 //延時500ms
  digitalWrite(13, LOW);      //設定13口輸出低電平
  delay(500);                 //延時500ms
  Serial.print('a');       //通過USB轉串列埠向PC傳送資料
  i%=100;
}


然後我們上傳程式,並在上傳成功後,開啟串列埠監視器(頂部選單欄->工具->串列埠監視器),再將監視器右下角的波特率選擇為115200波特率

應該每隔一秒會出現一個新的數字

而且當這個數字增加到100的時候會重新從0開始計數


記住這個現象,現在我們把這個串列埠監視器關掉,按照剛剛的方法開啟串列埠繪圖器(必須關掉串列埠監視器否則無法開啟串列埠繪圖器),並設定繪圖器右下角的波特率為115200波特率

串列埠監視器應該每隔一秒變化一次,如果你等待4到5分鐘會得到下發這樣的圖形


到了這裡,你再看看程式,應該能理解了吧?沒錯,通過Serial可以讓Arduino向PC傳送資料。

當然你可以自己修改一下波特率和傳送的資料,你只需要注意以下幾點

1.    波特率只能在幾個固定值中取一個,即串列埠工具右下角能選擇的那幾個

2.    串列埠工具右下角的波特率必須與Serial.begin設定的波特率一致,否則PC無法正常收發訊號。

3.    串列埠繪圖器只能對數字或數字字串繪圖(如果是數字字串如“123”他會自動轉為數字123)。如果傳送的是非數字字串或非數字如“abc”,那麼你只能從串列埠繪圖器那裡看到一片白

當然,Serial還有其他函式,我在這裡只講println,這是為了方便我們將來對Arduino進行除錯(比如我們可以在Arduino沒有外接LCD的情況下讓Arduino連線電腦通過Serial向PC傳送一些資料,從而獲取Arduino當前的狀態)