arduino - 如何为此编写开关盒和串行读取?
问题描述
主题:使用串行库与 Masses ARDUINO 一起工作!
确定哪个类别将包括儿童,知道他或她的年龄:婴儿 (0-2)、儿童 (2-12)、青少年 (12-18);应采用开关设计。
我只需要代码,我认为 arduino 方案没有什么可放的!
有人可以展示一下代码的样子吗?我想是这样的!但我不能使用超过 9 个案例!如果我需要为年龄写 19 这不要打印出来
int age =0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("\nIevadi berna vecumu diapazona no 0 lidz 18 :");
while (Serial.available()==0);
int age=Serial.read()-'0';
Serial.println();
switch(age){
case 0 :
Serial.println("baby");
break;
case 1:
Serial.println("child");
break;
case 2 :
Serial.println("Teenager");
break;
}
}
解决方案
测试这段代码。Serial.read() 只读取一个字符(1 个字节),而 int 是 2 个字节。switch 只处理 '==' 条件,这里你必须使用 < 和 > 运算符。
int age =0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int age=0;
Serial.println("\nIevadi berna vecumu diapazona no 0 lidz 18 :");
while (Serial.available()==0);
while (Serial.available()>0){
age = Serial.parseInt();
}
Serial.println(age);
//switch not good. Use ifs, else if, and else. Personalize this conditions
if(age<5){
Serial.println("baby");
}
else if (age<18&&age>4){
Serial.println("child");
}
else if (age>17){
Serial.println("Teenager");
}
}
祝你好运!
推荐阅读
- javascript - 如何在 ASP Classic (javascript) 中循环或访问对象集合?
- ssl - 如何在 GitLab-ci.yml 中运行 curl --retry 命令
- java - fhir.executeBundle 替换资源 id...如何防止这种情况?
- android - Android 在后台录制视频
- node.js - npm 错误!代码 EMFILE npm ERR!系统调用产生 git npm ERR!路径 git npm 错误!errno EMFILE npm 错误!生成 git EMFILE
- c - 分配给返回指针的分段错误
- validation - 有效分割数据集的方法
- flutter - 在文本到语音中播放或不播放
- lisp - 如何修改函数内的列表
- c# - 如何使用 EditTemplate 绑定到 Blazorise DataGrid 中的 TextEdit