相關(guān)推薦
您可能對(duì)下面課程感興趣
Arduino視頻教程基礎(chǔ)篇

75小節(jié)已有140727人學(xué)過(guò)

修改Arduino串口緩沖區(qū)大小
發(fā)布時(shí)間:2022-03-12 08:52 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 小劉2175 閱讀: 2514

5.1.6串口緩沖區(qū)

       在之前的示例程序中,我們都是采用人工輸入測(cè)試數(shù)據(jù)的方式檢驗(yàn)程序效果,Arduino每接收到一次數(shù)據(jù),就會(huì)將數(shù)據(jù)放入到串口緩沖區(qū)中。
       但是,當(dāng)我們使用其他串口設(shè)備或者傳輸?shù)臄?shù)據(jù)量逐步增加后,你可能會(huì)發(fā)現(xiàn)寫(xiě)入的數(shù)據(jù)會(huì)有一些丟失,這是因?yàn)锳rduino默認(rèn)設(shè)定了串口緩沖區(qū)為64字節(jié),說(shuō)明串口緩存64B溢出后,后面的數(shù)據(jù)是丟棄的。
      
       我們可以通過(guò)宏定義的方式來(lái)增大串口讀寫(xiě)緩沖區(qū)的空間,Arduino核心庫(kù)中串口發(fā)送緩沖區(qū)宏名為SERIAL_TX_BUFFER_SIZE,串口接收緩沖區(qū)宏名為SERIAL_RX_BUFFER_SIZE。可以在hardwareSerial.h中修改。


       緩沖區(qū)實(shí)際上就是在Arduino的RAM上開(kāi)辟臨時(shí)存儲(chǔ)空間,因此緩沖區(qū)的設(shè)定大小不能超過(guò)arduino本身的RAM大小;又因?yàn)槲覀冞要在RAM上,進(jìn)行其他數(shù)據(jù)的存儲(chǔ),所以并不能將所有RAM空間都分配作串口緩沖區(qū)。如果項(xiàng)目開(kāi)發(fā)中,有增加串口緩沖區(qū)大小的必要,需根據(jù)項(xiàng)目情況酌情修改緩沖區(qū)大小。

Arduino視頻教程基礎(chǔ)篇
我要自學(xué)網(wǎng)商城 ¥40 元
進(jìn)入購(gòu)買(mǎi)
文章評(píng)論
0 條評(píng)論 按熱度排序 按時(shí)間排序 /350
添加表情
遵守中華人民共和國(guó)的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭(zhēng)議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部
相關(guān)推薦
您可能對(duì)下面課程感興趣
Arduino視頻教程基礎(chǔ)篇

75小節(jié)已有140727人學(xué)過(guò)

分類(lèi)選擇:
電腦辦公 平面設(shè)計(jì) 室內(nèi)設(shè)計(jì) 室外設(shè)計(jì) 機(jī)械設(shè)計(jì) 工業(yè)自動(dòng)化 影視動(dòng)畫(huà) 程序開(kāi)發(fā) 網(wǎng)頁(yè)設(shè)計(jì) 會(huì)計(jì)課程 興趣成長(zhǎng) AIGC