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() 列队发送完未发送的数据.
  在没有使用flush函数的情况下,开发板不会等待所有“发送缓存”中数据都发送完毕再执行后续的程序内容。也就是说,开发板是在后台发送缓存中的数据。程序运行不受影响。
相反的,在使用了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):
Serial.parseInt()
Serial.parseInt(lookahead)
Serial.parseInt(lookahead, ignore)
返回值(Returns):
  长整型(long)

  • parseFloat()

说明(Description):
  函数 parseInt() 从数据流中读取第一个有效浮点数,跳过非数字(或减号)的初始字符,parseFloat()由非浮点数的第一个字符结束。
语法(Syntax):
stream.parseFloat(list)
list:检查的数据流
返回值(Returns):
  浮点数(float)

  • setTimeout()

说明(Description):
  函数 setTimeout() 设置等待数据流通讯超时时间,毫秒为单位
语法(Syntax):
stream.setTimeout(time)
time:毫秒为单位的时间,长整型(long)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值