☛ Serial.begin() 函式

要建立一個串列通訊連線,首先是傳送端與接收端必須要設定相同的「通訊協定」,所謂的「通訊協定」是指資料的傳輸格式,在串列埠中常用的傳輸格式如下圖所示,由 1 個開始位元、8 個資料位元及 1 個停止位元所組成。 其次是設定傳輸速率,或稱為鮑率 ( Baud rate ),可以設定的速率為 300 bps 至 115200 bps 之間,常見的選擇為 9600 bps。

格式

Serial.begin(speed)

範例

Serial.begin(9600);

 

☛ Serial.print() 函式

為了讓不同電腦之間讀取相同檔時,不會有不同的結果與意義,現今採用最通用的單位元組電腦編碼系統為美國資訊交換代碼 ( American Standard Code for Information Interchange,簡稱 ASCII ),共定義 128 個字元。 Serial.print() 函式可以將 ASCII 文字或數值輸出到序列埠,有兩個參數可以使用:

✦第一個參數 val 設定所要輸出的文字或數值。

✦第二個參數 format 設定數位的格式,有 BIN ( 二進位 )、OCT ( 八進位 )、DEC ( 十進位 ) 及 HEX ( 十六進位 ) 等四種數值格式可以選擇,預設輸出格式為十進位。

如果 val 參數為實數,預設輸出兩位小數位數,可以使用 format 參數設定輸出小數位數,並以四捨五入方式進位。

格式

Serial.print(val)
serial.print(val,format)

範例

Serial.print('A');         //輸出字元 A
Serial.print("Hello");     //輸出字串 Hello
Serial.print(65,BIN);      //輸出數值 65 的二進位 1000001
Serial.print(65,OCT);      //輸出數值 65 的八進位 101
Serial.print(65,DEC);      //輸出數值 65 的十進位 65
Serial.print(65,HEX);      //輸出數值 65 的十六進位 41
Serial.print(12.3456);     //輸出數值 12.35
Serial.print(12.3456,1);   //輸出數值 12.3
Serial.print(12.3456,2);   //輸出數值 12.35
Serial.print(12.3456,3);   //輸出數值 12.346
Serial.print(12.3456,4);   //輸出數值 12.3456

 

☛ Serial.println() 函式

Serial.println() 函式與 Serial.print() 函式有相同的格式,唯一不同的是:輸出 val 文字或數值資料結束後,再輸出一個歸位字元 ( ASCII 13 或 \r ) 與一個換行字元 ( ASCII 10 或 \n ),簡單來說就是在輸出文字或數值資料結束後,游標移至下一列的開頭。

格式

Serial.println(val)
Serial.println(val,format)

 

☛ Serial.write() 函式

Serial.write() 函式可以將 ASCII 文字或數值輸出到串列埠,如果是設定 val 數值參數,輸出為數值資料的 ASCII 文字;如果是設定 str 字串參數,輸出為字串;如果是設定無號數位元 ( unsigned char ) 的 buf 陣列文字或數值資料,輸出為 ASCII 文字,長度由 len 參數決定。

格式

Serial.write(val)
Serial.write(str)
Serial.write(buf,len)

範例

Serial.write(65);     //輸出字元 A 
Serial.write("ABC");  //輸出字串 ABC

 

☛ Serial.available() 函式

Serial.available() 函式可以得到從串列埠所讀取到的位元組數目,沒有參數,傳回值為位元組數目。

格式

Serial.available()

範例

char num=Serial.available();  //讀取電腦傳入的位元組數目,存入 num 中

 

☛ Serial.read() 函式

Serial.read() 函式可以讀取電腦傳入的 8 位元數值資料,沒有參數,傳回值為 8 位元數值資料。

格式

Serial.read()

範例

char ch=Serial.read();  //讀取電腦傳入的 8 位元數值資料,存入 ch 中