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.

实际运行结果:

相关推荐
echo_pen1 小时前
蓝桥杯----DA、AD
单片机·蓝桥杯
echo_pen1 小时前
蓝桥杯----DS18B20温度传感器
单片机·蓝桥杯
一梦浮华5 小时前
自学嵌入式 day40 51单片机
单片机·嵌入式硬件·51单片机
李永奉7 小时前
STM32-ESP8266Wi-Fi模块使用USART实现通信/创建AP和STA模式配置教程(寄存器版)
stm32·单片机·嵌入式硬件
DS小龙哥10 小时前
基于单片机汽车少儿安全预警系统
单片机·安全·汽车
霖0014 小时前
深入讲讲异步FIFO
笔记·vscode·单片机·嵌入式硬件·学习·fpga开发
oioihoii14 小时前
深入浅出理解WaitForSingleObject:Windows同步编程核心函数详解
windows·stm32·单片机
IT永勇15 小时前
STM32-基本定时器
stm32·单片机·嵌入式开发·基本定时器
范纹杉想快点毕业18 小时前
基于 C 语言视角:流程图中分支与循环结构的深度解析
c语言·stm32·单片机·设计模式·架构·流程图·uml
玄酒18 小时前
51单片机入门:模块化编程
单片机·嵌入式硬件·51单片机