【MC3】關於Arduino串口Serial的幾個常用Method方法列舉

1.1  Serial.begin( baud )    功能爲設置端口通信傳輸速率。【注意接收端的速率】,數據參數單位爲波特率(bit per second)

1.2  Serial.end();     禁止串口傳輸函數。此時串口傳輸的pin腳可以作爲數字IO腳使用。

1.3  Serial.print()    /    Serial.println()    通過打印的形式把函數送出。其中,Serial.println() 等價於 Serial.print("\r\n")

需要注意的是:不加說明的情況下,數據以十進制送出Serial.print(x, DEC);   其他尚有

Serial.print(78, BIN) 得到 "1001110"
Serial.print(78, OCT) 得到 "116"
Serial.print(78, DEC) 得到 "78"
Serial.print(78, HEX) 得到 "4E"
Serial.print(1.23456, 0) 得到 "1"
Serial.print(1.23456, 2) 得到 "1.23"
Serial.print(1.23456, 4) 得到 "1.2346"
Serial.print('N') 得到 "N"
Serial.print("Hello world.") 得到 "Hello world."

1.4  Serial.available() 與 Serial.read() 通常一起工作

Serial.available()  返回值int,數據的個數。無數據,返回  0 。

Serial.read();        返回串口緩存中第一個可讀字節,無數據,返回-1,整數類型。

Serial.available() 的意思是:返回串口緩衝區中當前剩餘的字符個數。一般用這個函數來判斷串口的緩衝區有無數據,當Serial.available()>0時,說明串口接收到了數據,可以讀取;

Serial.read()指從串口的緩衝區取出並讀取一個Byte的數據,比如有設備通過串口向Arduino發送數據了,我們就可以用Serial.read()來讀取發送的數據。

典型的用法如下:

while (Serial.available()>0)
{
    data= Serial.read();
    delay(2);
}

上面代碼的意思就是,當串口接收到數據時(上面Serial.available()>0這句),反覆讀取串口的數據並賦值給data (上面data= Serial.read()這句),直到數據讀完(即Serial.available()=0的時候)。

1.5    while(Serial.read()>= 0){}因Serial.read()函數讀取串口緩存中的一個字符,並刪除已讀字符。因此可以用這句代碼來清空串口緩存。實驗代碼詳見下文代碼。

1.6    Serial.readString();從串口緩存區讀取全部數據到一個字符串型變量。

1.7    Serial.parseFloat();  讀串口緩存區第一個有效的浮點型數據,數字將被跳過。當讀到第一個非浮點數時函數結束。

1.8    Serial.find()    從串口緩存區讀取數據,尋找目標字符串target(char型)

//參數--target: 目標字符串(char型)        返回--找到目標字符串返回真,否則爲假
char target[] = ”目標字符串”;
Serial.find(target); 

 

參考文獻:

1.《完全實戰arduino》--美.Powenko

2.百度知道:https://zhidao.baidu.com/question/179373433931782804.html

3.CSDN:https://blog.csdn.net/iracer/article/details/50334041

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章