代码改变世界

Arduino串口输入改变模式模块

2022-01-12 00:13  jym蒟蒻  阅读(150)  评论(0编辑  收藏  举报

最新更新:
当时太嫩,做这个不知道arduino还有中断的方法,利用中断的方法可以比下面这种循环判断的方法更简单。

最近做了不少arduino智能系统,我发现在与用户交互的过程中,经常用到:通过在串口输入不同的值达到手动控制与自动控制切换。

思路:
有一个提示界面上面显示不同的选择情况
用户输入对应的代号就进入相应的情况,然后程序就会一直循环这种模式,直到用户再次输入退出代号,然后重新回到提示界面

模板:
这样的话就将模块和界面分离开来,只用写好相应模块的运行语句及初始化语句,然后填入模板中,即可实现通过控制台与用户的交互

 

void setup() {

//代码
}

void loop() {


    if (Serial.available() > 0) {

        char ch = Serial.read();

        if (ch == '4') {
            Serial.println("你想哪个功能");
            Serial.println("1.") ;
            Serial.println("2.");
            Serial.println("4.重新选择");
        } 
        else {
            while (1) {
                if (ch == '1') { //1号模块

                    if (Serial.available() > 0) {
                        char bb = Serial.read();
                        if (bb == '4') {
                            //初始化代码:还原变量至初始状态
                            break;//跳出循环
                        }
                    }

                    else {
                        //1号模块的代码:
                    }
                }
                else if (ch == '2') { //2号模块
                    if (Serial.available() > 0) {
                        char bb = Serial.read();
                        if (bb == '4') {
                            //代码:还原变量至初始状态
                            break;//跳出循环
                        }
                    }

                    else {
                        //2号模块的代码:
                    }

                }
            }

        }
    }
}