串口数据太多,接收不完。Arduino修改串口缓冲区大小的办法

和网上搜到修改的方法不太一样,可能是版本不一样,我的方法供大家参考。arduino的串口缓冲区_Arduino修改串口缓冲区大小的办法

找到Serial.begin(115200);的定义,
串口数据太多,接收不完。Arduino修改串口缓冲区大小的办法_第1张图片

串口收发代码示例

#include 
void setup()
{
  // initialize digital pin led as an output
  pinMode(led, OUTPUT);
  Serial.begin(115200); //数据太多,需要修改setRxBufferSize(1024)
  Serial.println("power on!");
}

#define digitalToggle(x) digitalWrite(x, !digitalRead(x))

void loop()
{
  String inString = "";
  // 接收数据
  while (Serial.available() > 0)
  {
    digitalToggle(8);
    inString += char(Serial.read());
    delay(10); // 延时函数用于等待字符完全进入缓冲区,可以尝试没有延时,输出结果会是什么
  }
  // 处理数据
  if (inString != "")
  {
    Serial.print("Input String:");
    Serial.println(inString);
  }
}

你可能感兴趣的:(arduino,串口缓冲)