|
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){} //清空串口缓存
}
|
|