抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Stream数据流

1、串口收发数据

1
2
3
4
5
6
7
8
9
10
11
12
void setup() {
// 启动串口通讯
Serial.begin(9600);
Serial.println();
}

void loop() {
if (Serial.available()){ // 当串口接收到信息后
String serialData = Serial.readString(); // 将接收到的信息存储于serialData变量
Serial.print(serialData);
}
}

使用Serial.available来判断ESP8266开发板是否接收到串口数据

实际上,ESP8266开发板通过串口收发的数据通过Stream进行的

下面的程序将演示:

当ESP8266找到了find函数所指定的参数“ok”后,随即在后续接收到的数据中查找数字信息。一旦找到数字,则通过串口监视器输出。接下来串口监视器还将输出找到数字后剩余的串口输入信息是什么。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void setup() {
Serial.begin(9600);
Serial.println("");
Serial.println("Please enter input...");
}

void loop() {
while(Serial.available()){
if(Serial.find("ok")){
Serial.println("Found ok in user input.");

int serialParseInt = Serial.parseInt();
Serial.print("serialParseInt = ");
Serial.println(serialParseInt);

String serialInput = Serial.readString();
Serial.print("serialInput = ");
Serial.println(serialInput);
}
}
}

2、使用Stream方式来读取服务器响应的信息

(具体看第4篇文章第2点的代码)

1
2
3
4
5
6
while (client.connected() || client.available()){ 
if (client.available()){
String line = client.readStringUntil('\n'); //读取返回的数据
Serial.println(line);
}
}

3、使用Stream方式来读取文件内容

1
2
File f = SPIFFS.open(file_name, "r");     // 以“r”模式再次打开闪存文件
Serial.println(f.readString()); // 读取文件内容

评论