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當前的狀態)