想了半个小时 终于想出来了 已测试 我直接上我的测试代码得了 自己看
- int flag ; //标志位
- char ch;
- void setup()
- {
- Serial.begin(9600);
- pinMode(13, OUTPUT);
- }
- void loop()
- {
- if (Serial.available()>0) //如果有数据传入
- {flag = 0;}
- ch=Serial.read();
- if(ch=='1'||flag==1) //发送1时执行下面程序
- {
- digitalWrite(13, HIGH); // 使Led亮
- delay(200); // 持续1秒钟
- digitalWrite(13, LOW); // 使Led灭
- delay(200); // 持续1秒钟。
- flag = 1;
- }
- else if(ch=='2'||flag==2)//
- {
- digitalWrite(13, HIGH); // 使Led亮
- delay(1000); // 持续1秒钟
- digitalWrite(13, LOW); // 使Led灭
- delay(1000); // 持续1秒钟。
- flag = 2;
- }
- else//其余情况执行下面程序
- {
- digitalWrite(13,HIGH);
- }
- }
复制代码
思路就是设立标志位 |