极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2952|回复: 1

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

[复制链接]
发表于 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 | 显示全部楼层
我也是,想问解决了吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-7-10 12:21 , Processed in 0.044612 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表