说明
findUntil函数可用于从设备接收到的数据中寻找指定字符串信息。当函数找到了指定字符串信息后将会立即结束函数执行并且返回“真”。否则将会返回“假”。该函数在满足以下任一条件后都会停止函数执行
– 读取到指定终止字符串
– 找到了指定字符串信息
– 达到设定时间(可使用setTimeout来设置)
本函数属于Stream类。该函数可被Stream类的子类所使用,如(Serial, WiFiClient, File 等)。
语法
Stream.findUntil(target, terminator)
注:此处stream为概念对象名称。在实际使用过程中,需要根据实际使用的stream子类对象名称进行替换。如:
Serial.findUntil(target, terminator)
wifiClient.findUntil(target, terminator)
参数
target: 被查找字符串。允许使用String或char类型。
terminator: 终止字符串。用于设置终止函数执行的字符串信息。设备在读取数据时一旦读取到此终止字符串,将会结束函数执行并返回。
返回值
返回值类型为bool。当函数找到了指定字符串信息后将会立即结束函数执行并且返回“真”。否则将会返回“假”。
示例程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
/********************************************************************** 项目名称/Project : 零基础入门学用物联网 程序名称/Program name : findUntil 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : CYNO朔 日期/Date(YYYYMMDD) : 20200317 程序目的/Purpose : 此程序使用Serial来演示Stream类中的findUntil函数使用方法。 findUntil函数可用于从设备接收到数据中寻找指定字符串信息。当函数找到了 指定字符串信息后将会立即结束函数执行并且返回“真”。否则将会返回“假”。 Stream类用于处理字符数据流或二进制数据流。Stream类是不能被直接调用的。 然而当我们使用基于Stream类的库时,都会调用Stream中的内容。 以下Arduino库及相应库中的类都是基于Stream类所实现的。 库 类 Core Serial Wifi WiFiClient Ehternet EthernetClient ESP8266FS File SD File Wire Wire GSM GSMClient SoftwareSerial SoftwareSerial ----------------------------------------------------------------------- 修订历史/Revision History 日期/Date 作者/Author 参考号/Ref 修订说明/Revision Description ----------------------------------------------------------------------- 本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。 该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页: http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/ ***********************************************************************/ void setup() { // 启动串口通讯 Serial.begin(9600); Serial.println(); } void loop() { if (Serial.available()){ // 当串口接收到信息后 Serial.println("Serial Data Available..."); // 通过串口监视器通知 // 用户系统开始查找指定信息 Serial.print("system is trying to find "); Serial.println("^_^"); // 执行查找并通过串口监视器输出查找结果 if(Serial.findUntil("^_^", "STOP")) { Serial.print("Great! System found "); Serial.println("^_^"); } else { Serial.print("Sorry System can't find "); Serial.println("^_^"); } Serial.println(""); } } |