PC机向阿德板发送一个字符串,阿德板收到后排查其中是否含有字母A,若找到,输出“YES”,并提升A的位置,否则,输出NO,且只显示第一次A的位置
2条回答 默认 最新
- qllaoda 2023-03-23 09:53关注
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 } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥60 不懂得怎么运行下载来的代码
- ¥15 CST导出3D模型图为什么和软件显示不一样?
- ¥15 加热反应炉PLC控制系统设计(相关搜索:梯形图)
- ¥15 python 用Dorc包报错,我的写法和网上教的是一样的但是它显示无效参数,是什么问题
- ¥15 经过滑动平均后的一维信号还原用什么结构好呢?
- ¥15 指定IP电脑的访问设置
- ¥30 matlab ode45 未发现警告,但是运行出错
- ¥15 为什么devc++编译项目会失败啊
- ¥15 vscode platformio
- ¥15 代写uni代码,app唤醒