ocrobot:alpha:kitone:tutorial043
目录
输入字母控制LED闪烁
这个例程显示了打开串口监视器,发送字母 a b c d e来点亮对应的LED的效果
硬件
搭建电路
- ALPHA 11 LED模块插入并行扩展版1号槽位。
- ALPHA MEGA328-U模块插入并行扩展板2号槽位。
- USB线连接计算机与ALPHA MEGA328-U。
代码
/* Switch statement with serial input */ void setup() { Serial.begin(9600); // 初始化串口通讯 for (int thisPin = 2; thisPin < 7; thisPin++) { pinMode(thisPin, OUTPUT); // LED引脚: } } void loop() { if (Serial.available() > 0) { // 读取串口: int inByte = Serial.read(); //基于接收到的字符来作出不同的反应 switch (inByte) { // 使用单引号来得到字符的ascii值,例如 'a' = 97, 'b' = 98,等等: case 'a': digitalWrite(2, HIGH); break; case 'b': digitalWrite(3, HIGH); break; case 'c': digitalWrite(4, HIGH); break; case 'd': digitalWrite(5, HIGH); break; case 'e': digitalWrite(6, HIGH); break; default: for (int thisPin = 2; thisPin < 7; thisPin++) { // 熄灭所有LED: digitalWrite(thisPin, LOW); } } } }
这个例子我们使用了一个新函数:switch / case语句
和 if 语句相同,switch…case通过程序员设定的在不同条件下执行的代码控制程序的流程。特别地,switch语句将变量值和case语句中设定的值进行比较。当一个case语句中的设定值与变量值相同时,这条case语句将被执行。
关键字break可用于退出switch语句,通常每条case语句都以break结尾。如果没有break语句,switch语句将会一直执行接下来的语句(一直向下)直到遇见一个break,或者直到switch语句结尾。
ocrobot/alpha/kitone/tutorial043.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1