Arduino设置SoftwareSerial缓冲区大小

SoftwareSerial的缓冲区大小设置

概述

新的Arduino的ESP8266软串口的缓冲区原来老的库中有宏定义可以用来修改接收和发送缓冲区的大小。在现在新的库中已经没有这个设置了,那怎么才能修改缓冲区的大小哪?

修改缓冲区的大小

定义软串口

cpp 复制代码
#include 《SoftwareSerial.h>
// 程序中定义软串口
SoftwareSerial mSerial(RXD1, TXD1);
// 在setup() 定义缓冲区大小
setup()
{
	Serial.begin(115200);
	delay(2000);
	mSerial.begin(19200,SWSERIAL_8N1,RXD1,TXD1,false,256);
}

这就可以将缓冲区修改成256个字节。

实验

原来在程序中默认大小为64个字节

cpp 复制代码
void begin(uint32_t baud, Config config,
        int8_t rxPin, int8_t txPin, bool invert,
        int bufCapacity = 64, int isrBufCapacity = 0) {
        UARTBase::begin(baud, config, rxPin, txPin, invert);
        if (GpioCapabilities::isValidInputPin(rxPin)) {
            beginRx(GpioCapabilities:: hasPullUp(rxPin), bufCapacity, isrBufCapacity);
        }
        if (GpioCapabilities::isValidOutputPin(txPin)) {
            beginTx();
        }
        enableRx(true);
    }

现在经过调用begin,将缓冲区扩大为256.

实际运行结果:

相关推荐
振南的单片机世界20 小时前
HAL_Delay(1000)真准吗?SysTick的1ms基准从哪来
arm开发·stm32·单片机·嵌入式硬件
项目題供诗1 天前
STM32-ADC模数转换器(十八)
stm32·单片机·嵌入式硬件
_YouziTech_1 天前
【STM32】U8G2图形库应用--菜单设计与开发
stm32·单片机·嵌入式硬件·oled·开机动画·图形库
国科安芯1 天前
商业航天级抗辐照全双工RS-485/RS-422收发器ASM491S2Y的技术特性与应用研究
运维·网络·单片机·嵌入式硬件·安全·架构·安全性测试
国科安芯1 天前
ASP7A84AS高精度抗辐照线性稳压器技术特性与应用分析
单片机·嵌入式硬件·安全·架构
恶魔泡泡糖1 天前
stm32F103C8T6标准库串口发送之发送字节2
stm32·单片机·嵌入式硬件
fffzd1 天前
STM32:时钟树与时钟源
单片机·嵌入式硬件·嵌入式软件·时钟树·时钟源
嵌入式小站1 天前
STM32 零基础可移植教程 22:SPI 入门,先读一个外部 Flash
stm32·单片机·嵌入式硬件
崇山峻岭之间1 天前
单片机USB 鼠标键盘实验
单片机·嵌入式硬件·计算机外设
大卡片1 天前
单片机第二次答辩
单片机·嵌入式硬件