我在进行ESP8266模块进行数据中转通信时的现象,它可以收发数据但是如果要把收的数据存入数组并且输出单个数组元素时是不可行的,它会一下全部输出出来。我通过使用读取时间限制实现了数据存储并且可以读取到每个存入的元素。
#include <Arduino.h>
uint8_t rc_buf[10],len;
//串口数据接收函数
void rc_data()
{
unsigned long startTime=millis();
while(millis()-startTime<100)//读取时间限制
{
while(Serial.available())
{
rc_buf[len++]=Serial.read();
}
}
}
void setup() {
Serial.begin(115200); // 初始化串口通信,波特率为115200
// Serial.println("ESP8266 Data Receiver");
}
void loop() {
rc_data();
if(len)
{
Serial.write(rc_buf[1]);
len=0;
}
}