專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> Arduino >> 瀏覽文章

Arduino串口函數(shù)

作者:huqin   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年04月20日   【字體:

  串口是Arduino與其它設(shè)備進(jìn)行通信的接口,我們需要很好的掌握它的使用。Arduino串口使用相關(guān)的函數(shù)共有10個(gè)(隨著版本的升級(jí),新版本加入了更多,具體請(qǐng)參見(jiàn)官網(wǎng):http://www.arduino.cc/)。

    Serial.begin(); //開(kāi)啟串行通信接口并設(shè)置通信波特率

    Serial.end();    //關(guān)閉通信串口

    Serial.available();//判斷串口緩沖器是否有數(shù)據(jù)裝入

    Serial.read();    //讀取串口數(shù)據(jù)

    Serial.peek();    //返回下一字節(jié)(字符)輸入數(shù)據(jù),但不刪除它

    Serial.flush();    //清空串口緩存

    Serial.print();    //寫(xiě)入字符串?dāng)?shù)據(jù)到串口

    Serial.println();   //寫(xiě)入字符串?dāng)?shù)據(jù)+換行到串口

    Serial.write();     //寫(xiě)入二進(jìn)制數(shù)據(jù)到串口

    Serial.SerialEvent();//read時(shí)觸發(fā)的事件函數(shù)

    Serial.readBytes(buffer,length);//讀取固定長(zhǎng)度的二進(jìn)制流

    Serial.println(incomingByte, DEC);打印接到數(shù)據(jù)十進(jìn)制表示的ascii碼。

    peek():功能類(lèi)似于read(),但是我們知道當(dāng)調(diào)用一次read()后,緩沖區(qū)的數(shù)據(jù)流會(huì)被讀取并刪除read過(guò)的數(shù)據(jù),也就是available值會(huì)減少,但peek()不會(huì)出現(xiàn)類(lèi)似情況,其功能類(lèi)似于檢測(cè)緩沖區(qū)的頭部數(shù)據(jù),反復(fù)調(diào)用peek()返回的值是一樣的。用得好的話(huà)可以精簡(jiǎn)很多代碼。

    write():寫(xiě)入二進(jìn)制數(shù)據(jù)到串行端口。這個(gè)數(shù)據(jù)是作為一個(gè)字節(jié)或字節(jié)序列發(fā)送的。如果發(fā)送字符串則需要用到print方法。

        最后注意一下:當(dāng)燒程序入板卡的時(shí)候,在完成前即L、TX、RX燈閃爍前,斷開(kāi)數(shù)據(jù)線(xiàn)很可能損壞硬件。同時(shí)測(cè)試前養(yǎng)成按一次reset鍵復(fù)位的習(xí)慣,這里特別注意,在打開(kāi)串口監(jiān)視器后,需要reset一次,否則無(wú)法看到效果。

關(guān)閉窗口

相關(guān)文章