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串口接收并打印输出int类型数据

Arduino基于Stream.h来处理Stream数据的相关库

Arduino 利用readString函数对串口数据进行接收和打印

Arduino 从串口接收到的数据中提取整型数据(parseInt)

Arduino WString.h库功能函数详细介绍

arduino程序代写