|
发表于 2018-7-18 10:18:05
|
显示全部楼层
本帖最后由 275891381 于 2018-7-21 09:32 编辑
-
- //发送 [BN:13] 会开关led13
- boolean stringComplete = false;
- String read_data="";
- u8 start_flag=0;
- u16 read_time=0;
- u16 read_num=0;
- void setup() {
- pinMode(13, OUTPUT);
- digitalWrite(13,0);
- Serial.begin(115200);
-
- read_data.reserve(100);
- Serial.flush();
- }
- void loop() {
- if (stringComplete) {
- Serial.println(read_data);
- //Serial.println(read_data.length());
- read_num=(read_data.substring(4, read_data.length()-1)).toInt();
- //Serial.println(read_num);
- if(read_num==13)
- digitalWrite(13, 1-digitalRead(13));
- read_data="";
- stringComplete = false;
- }
- }
- void serialEvent()
- {
- while (Serial.available())
- {
- char inChar = (char)Serial.read();
-
- if(inChar=='[')
- {
- start_flag=1;
- read_time=millis();
- }
- if(start_flag==1)
- {
- read_data += inChar;
- if(read_data.length()>20||(millis()-read_time>50))
- {
- start_flag=0;
- read_data="";
- }
- }
- if(start_flag==1&&inChar==']')
- {
- start_flag=0;
- stringComplete = true;
- }
- }
- }
复制代码 |
|