Arduino 基于Stream类的函数详细说明
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino 基于Stream类的函数详细说明相关的知识,希望对你有一定的参考价值。
Arduino 基于Stream类的函数详细说明
Stream类官方资料:https://www.arduino.cc/reference/en/language/functions/communication/stream/
许多库包含了 Stream 类,例如 Serial;Wire;Enternet Client;Enternet Server;SD等。
Stream 类 包含下列函数:
available()
read()
flush()
find()
findUntil()
peek()
readBytes()
readBytesUntil()
readString()
readStringUntil()
parseInt()
parseFloat()
setTimeout()
available()
:获取数据流中接收到的字节数
返回值(Returns):
返回值是存储在缓冲区的字节数, int 类型
read()
说明(Description):
函数 read() 获取数据流中第一个字节数据,获取数据后会清除当前字节数据,与* * peek()函数有区别
返回值(Returns):
返回值是 读取数据字符的第一个字节(8bit)
flush()
说明(Description):
函数 flush() 清除数据流所有未向外发送的数据
返回值(Returns):
bool 类型
find()
说明(Description):
函数 find() 从数据流中查找目标字符串,找到目标字符串后返回值 = true,超时则返回值 = false
返回值(Returns):
bool 类型
findUntil()
说明(Description):
函数 findUntil() 从数据流中读取目标字符串或者终止目标字符串,找到目标字符串后返回值 = true,超时则返回值 = false
语法(Syntax):
stream.findUntil(target, terminal)
target:要搜索的字符串
terminal:终止目标字符串
返回值(Returns):
bool 类型
-
peek()
说明(Description):
函数 peek() 从数据流中读取当前的一个字节,不会清除数据流中当前字节数据,与 read() 函数有区别。
返回值(Returns):
当前缓存区数据流的第一个字节数据,如果缓存区无数据时返回 -1 -
readBytes()
说明(Description):
函数 readBytes() 从数据流中读取确定字节的数据到缓存区,读取确定长度数据或超时时终止
语法(Syntax):
stream.readBytes(buffer, length)
stream:从 Stream 类 继承的实例
buffer:存放数据的缓存区(可以是 char[] 或 byte[] 这样的数组)
length:存放的字节数
返回值(Returns):
已经存放在缓存区中的字节数
readBytesUntil()
说明(Description):
函数 readBytesUntil() 从数据流中读取确定字节的数据到指定缓存地址,读取确定长度数据、或读取到终止字符、或超时时终止
和 readBytes() 相比多了终止字符串
语法(Syntax):
stream.readBytesUntil(character, buffer, length)
stream:从 Stream 类 继承的实例
character:终止字符(char 类型)
buffer:存放数据的指定缓存地址(可以是 char[] 或 byte[] 这样的数组)
length:存放的字节数(int 类型)
返回值(Returns):
已经存放在缓存区中的字节数
readString()
说明(Description):
函数 readString() 将字符从数据流中读入字符串中,超时时该函数终止
返回值(Returns):
读取到的字符串(string)
readStringUntil()
说明(Description):
函数 readString() 将字符从数据流中读入字符串中,遇到终止字符或超时时该函数终止
语法(Syntax):
stream.readString(terminator)
terminator:终止字符
返回值(Returns):
读取到的字符串(string)
parseInt()
说明(Description):
函数 parseInt() 从数据流中读取第一个有效(长)整型数,跳过非整数(或减号)的字符。
语法(Syntax):
stream.parseInt(list)
stream.parseInt(’‘list’, char skipchar’)
返回值(Returns):
长整型(long)
parseFloat()
说明(Description):
函数 parseInt() 从数据流中读取第一个有效浮点数,跳过非数字(或减号)的初始字符,parseFloat()由非浮点数的第一个字符结束。
语法(Syntax):
stream.parseFloat(list)
list:检查的数据流
返回值(Returns):
浮点数(float)
setTimeout()
说明(Description):
函数 setTimeout() 设置等待数据流通讯超时时间,毫秒为单位
语法(Syntax):
stream.setTimeout(time)
time:毫秒为单位的时间,长整型(long)
以上是关于Arduino 基于Stream类的函数详细说明的主要内容,如果未能解决你的问题,请参考以下文章
Arduino基于Stream.h来处理Stream数据的相关库
Arduino 利用readString函数对串口数据进行接收和打印