☛ 功能說明

使用 Arduino 開發板接收電腦傳送的訊息,並於 Serial Monitor 視窗顯示其 10 進制 ASCII 碼。 將 Arduino 開發板與電腦連接,然後將程式上傳至 Arduino 開發板,接著開啟 Serial Monitor 視窗。 如下圖所示,在傳送欄輸入 “ABCD” 後,按下傳送鈕,在 Serial Monitor 視窗會顯示 A、B、C、D 四個字元的 ASCII 碼。

☛ 使用材料

Arduino UNO R3 開發板。

☛ 電路圖及麵包板接線圖

☛ 程式碼

int num=0;                                 //自串列埠讀取可用位元組數目

void setup()
{
     Serial.begin(9600);                   //初始化串列埠,設定傳輸速率為 9600bps
}

void loop()
{
     if(Serial.available()>0)              //是否至少有接收到一個可用的字元?
     {
          num=Serial.read();               //讀取字元資料
          Serial.print("I received : ");   //輸出 I received :字串
          Serial.println(num,DEC);         //輸出所讀取到的字元數值
     }
}

 

☛ 練習

㈠ 設計 Arduino 程式,從 Arduino 開發板接收電腦傳送的訊息,並於 Serial Monitor 視窗顯示其 16 進位 ASCII 碼。

int num=0;                                 //自串列埠讀取可用位元組數目

void setup()
{
     Serial.begin(9600);                   //初始化串列埠,設定傳輸速率為 9600bps
}

void loop()
{
     if(Serial.available()>0)              //是否至少有接收到一個可用的字元?
     {
          num=Serial.read();               //讀取字元資料
          Serial.print("I received : ");   //輸出 I received :字串
          Serial.println(num,HEX);         //輸出所讀取到的字元數值 ( 16 進制 )
     }
}

 

㈡ 設計 Arduino 程式,從 Arduino 開發板接收電腦傳送的訊息,並於 Serial Monitor 視窗顯示所接收的字元。

int num=0;                                 //自串列埠讀取可用位元組數目

void setup()
{
     Serial.begin(9600);                   //初始化串列埠,設定傳輸速率為 9600bps
}

void loop()
{
     if(Serial.available()>0)              //是否至少有接收到一個可用的字元?
     {
          num=Serial.read();               //讀取字元資料
          Serial.print("I received : ");   //輸出 I received :字串
          Serial.println(char(num));       //輸出所讀取到的字元
     }
}