修改Arduino串口缓冲区大小(转)

Posted 极客先锋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改Arduino串口缓冲区大小(转)相关的知识,希望对你有一定的参考价值。

本帖节选自《Arduino程序设计基础》第二版

5.1.6串口缓冲区

       在之前的示例程序中,我们都是采用人工输入测试数据的方式检验程序效果,Arduino每接收到一次数据,就会将数据放入到串口缓冲区中。
       但是,当我们使用其他串口设备或者传输的数据量逐步增加后,你可能会发现写入的数据会有一些丢失,这是因为Arduino默认设定了串口缓冲区为64字节,当其中数据超过64字节后,Arduino会将之后接收到的数据丢弃
       
       我们可以通过宏定义的方式来增大串口读写缓冲区的空间,Arduino核心库中串口发送缓冲区宏名为SERIAL_TX_BUFFER_SIZE,串口接收缓冲区宏名为SERIAL_RX_BUFFER_SIZE。可以在hardwareSerial.h中修改。


       缓冲区实际上就是在Arduino的RAM上开辟临时存储空间,因此缓冲区的设定大小不能超过arduino本身的RAM大小;又因为我们还要在RAM上,进行其他数据的存储,所以并不能将所有RAM空间都分配作串口缓冲区。如果项目开发中,有增加串口缓冲区大小的必要,需根据项目情况酌情修改缓冲区大小。

 

本贴来自:http://www.arduino.cn/thread-7885-1-1.html

以上是关于修改Arduino串口缓冲区大小(转)的主要内容,如果未能解决你的问题,请参考以下文章

Arduino串口读取

Arduino 利用串口缓冲区监听的方式读取数据

问题记录ESP8266修改软件串口接收缓冲区大小

关于Arduino的串口中断

Arduino UNO + Proteus串口通讯仿真实验汇总

Arduino ESP32 BLE蓝牙串口通讯实验