arduino串口实验查询输出

PC机向阿德板发送一个字符串,阿德板收到后排查其中是否含有字母A,若找到,输出“YES”,并提升A的位置,否则,输出NO,且只显示第一次A的位置


void setup() {
  Serial.begin(9600); // 初始化串口通信
}

void loop() {
  static bool aFound = false; // 标志变量:是否找到字母A
  static int aPosition = -1;  // 字母A的位置

  if (Serial.available() > 0) { // 如果有可读取的串口数据
    char c = Serial.read();     // 读取一个字符

    if (!aFound && c == 'A') {  // 如果还没找到字母A,并且当前字符是A
      aFound = true;            // 设置标志变量为true
      aPosition = Serial.available(); // 记录A的位置
      Serial.println("YES");    // 输出YES
    } else if (aFound) {        // 如果已经找到过A
      aFound = false;           // 重置标志变量
    } else {                    // 如果当前字符不是A,并且还没找到过A
      Serial.println("NO");     // 输出NO
    }
  }
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^