极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10750|回复: 5

Arduino DUE 串口缓冲区在IDE1.6.1下修改不成功

[复制链接]
发表于 2015-3-29 15:33:23 | 显示全部楼层 |阅读模式
以前用IDE1.05下修改\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial.cpp里面的缓冲区大小可以,现在换用IDE1.6.1之后HardwareSerial.cpp里面没有修改缓冲区的位置,在HardwareSerial.h里有一段关于缓冲区的代码:

#if !(defined(SERIAL_TX_BUFFER_SIZE) && defined(SERIAL_RX_BUFFER_SIZE))
#if (RAMEND < 1000)
#define SERIAL_TX_BUFFER_SIZE 16
#define SERIAL_RX_BUFFER_SIZE 16
#else
#define SERIAL_TX_BUFFER_SIZE 64
#define SERIAL_RX_BUFFER_SIZE 64
#endif
#endif
#if (SERIAL_TX_BUFFER_SIZE>256)
typedef uint16_t tx_buffer_index_t;
#else
typedef uint8_t tx_buffer_index_t;
#endif
#if  (SERIAL_RX_BUFFER_SIZE>256)
typedef uint16_t rx_buffer_index_t;
#else
typedef uint8_t rx_buffer_index_t;
#endif

反复修改也不成功,缓冲区一直是128字节。求助,谢谢。
回复

使用道具 举报

 楼主| 发表于 2015-4-6 23:34:25 | 显示全部楼层
没人理我?顶一下.
回复 支持 反对

使用道具 举报

发表于 2015-4-7 01:22:50 | 显示全部楼层
xiangzi23456 发表于 2015-4-6 23:34
没人理我?顶一下.

IDE 1.6.1 之后 不用去改啦 !
直接在你的 sketch 程序码的第一句写:
#define SERIAL_TX_BUFFER_SIZE 256
#define SERIAL_RX_BUFFER_SIZE 256

这样就可改为 256
不过记住, 这是使用你的 RAM
别忘了, 你的 RAM 只有 2KB 喔 !
回复 支持 反对

使用道具 举报

发表于 2015-4-7 19:11:06 | 显示全部楼层
DUE有96K,MEGA2560有8K
回复 支持 反对

使用道具 举报

发表于 2015-4-8 02:40:29 | 显示全部楼层
mc.six 发表于 2015-4-7 19:11
DUE有96K,MEGA2560有8K

对喔
没注意到楼主标题写着 Arduino DUE
有钱人用的 .. 像我没钱的都用 UNO :-)
回复 支持 反对

使用道具 举报

发表于 2015-4-8 10:16:53 | 显示全部楼层
tsaiwn 发表于 2015-4-8 02:40
对喔
没注意到楼主标题写着 Arduino DUE
有钱人用的 .. 像我没钱的都用 UNO :-)

淘宝上DUE也不贵呀,100元以内很多呀。不过UNO大部分20元以内,o(∩_∩)o...哈哈!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-18 02:19 , Processed in 0.074121 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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