sundaniao 发表于 2019-3-21 14:36:46

修改串口缓冲区大小 无效,求助

MEGA2560和UNO都试过,收包一百来个字节,默认缓冲区只有64字节,想改成256,IDE试过1.8.5,1.8.6,1.8.8,尝试过以下方法,均无效,求助
方法1:hardware\arduino\avr\cores\arduino\HardwareSerial.h中四个值均修改,无效。

方法2:#define SERIAL_RX_BUFFER_SIZE 256 //修改串口发送缓冲区大小为2048
#define SERIAL_TX_BUFFER_SIZE 256 //修改串口接收缓冲区大小为2048    无效


方法3: #define _SS_MAX_RX_BUFF 256 // RX buffer size无效
以上三种方法缓冲区大小依旧64字节,只能接受63字节数据,后续的全部丢失。

度娘搜遍全网,不少人说修改无效,但没有一个最终找到方法。


使用如下程序最多只能返回63

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

}



void loop() {

if (Serial.available() > 0) {

   delay(200); // 等待数据传完

   int numdata = Serial.available();

   Serial.print("Serial.available = ");

   Serial.println(numdata);

   }

   while(Serial.read()>=0){} //清空串口缓存

}



邃夜吟秋细雨 发表于 2019-8-28 17:34:24

我也是,想问解决了吗
页: [1]
查看完整版本: 修改串口缓冲区大小 无效,求助