说明

就像if语句,switch…case允许Arduino根据不同的条件运行不同的的程序代码。switch语句通过对一个变量的值与case语句中指定的值进行比较。当一个case语句中的指定值与switch语句中的变量相匹配。就会运行这个case语句下的代码。

通过break关键字,Arduino可以中止并跳出switch语句段,break关键字常常用于每个case语句的最后面。如果没有break语句,switch语句将继续执行下面的表达式(“持续下降”)直到遇到break,或者是到达switch语句的末尾。

Arduino编程语言虽然没有限制if else能够处理的分支数量,但当分支过多时,用if else 处理会不太方便,而且容易出现if else 配对出错的情况。

结构

Arduino

switch (var) {

case 1:

//当var等于1时执行这里的程序

break;

case 2:

//当var等于2时执行这里的程序

break;

default:

// 如果var的值与以上case中的值都不匹配

// 则执行这里的程序

break;

}

1

2

3

4

5

6

7

8

9

10

11

12

switch(var){

case1:

//当var等于1时执行这里的程序

break;

case2:

//当var等于2时执行这里的程序

break;

default:

// 如果var的值与以上case中的值都不匹配

// 则执行这里的程序

break;

}

需要注意的几点内容:

1) 在以上结构示例代码中,当变量var和某个case后面的数值匹配成功后,如果没有break, Arduino会执行该分支以及后面所有分支的语句。

2) case 后面必须是一个整数,或者是结果为整数的表达式,但不能包含任何变量。

3) case 后面不能使用字符串,但可以使用字符,使用字符时需要用单引号把字符括起来,如: case: 'b'。

4) default 不是必须的。当没有 default 时,如果所有 case都匹配失败,那么就什么都不执行。

switch…case语句示例

通过本示例程序,用户可使用Arduino IDE的串口监视器向Arduino 发送字符(a, b, c, d, e点亮相应的LED,其他字符熄灭所有LED),此程序旨在演示如何使用switch…case语句对Arduino控制器进行编程。

所需硬件

– Arduino Uno控制器

– 5个LED

– 5个220 欧姆电阻

– 连接线

– 面包版

连接说明(如下图)

Arduino Switch Case 电路连接说明

程序代码 (可双击程序内容全选代码)

注:本示例程序涉及串行通讯的相关知识,如有需要请点击这里进入我站串行通讯页面

Arduino

/*

switch...case语句示例程序

v1.0

Created 2016

by 太极创客

www.taichi-maker.com

说明:

本示例程序后,用户可使用Arduino IDE的串口监视器

向Arduino 发送字符(a, b, c, d,或者e)Arduino

根据用户输入的字符,点亮相应的LED。此程序旨在演示

如何使用switch...case语句对Arduino控制器进行编程。

This example code is in the public domain.

*/

void setup() {

Serial.begin(9600); // 初始化串口通讯

for (int thisPin = 2; thisPin < 7; thisPin++) {// 初始化Arduino连接LED的引脚

pinMode(thisPin, OUTPUT);

}

}

void loop() {

if (Serial.available() > 0) {

int inByte = Serial.read();

// Arduino用switch语句,根据接收到的不同信息进行相应的反应。

switch (inByte) {

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:

// 熄灭所有LED:

for (int thisPin = 2; thisPin < 7; thisPin++) {

digitalWrite(thisPin, LOW);

}

break;

}

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

/*

switch...case语句示例程序

v1.0

Created 2016

by 太极创客

www.taichi-maker.com

说明:

本示例程序后,用户可使用Arduino IDE的串口监视器

向Arduino 发送字符(a, b, c, d,或者e)Arduino

根据用户输入的字符,点亮相应的LED。此程序旨在演示

如何使用switch...case语句对Arduino控制器进行编程。

This example code is in the public domain.

*/

voidsetup(){

Serial.begin(9600);// 初始化串口通讯

for(intthisPin=2;thisPin<7;thisPin++){// 初始化Arduino连接LED的引脚

pinMode(thisPin,OUTPUT);

}

}

voidloop(){

if(Serial.available()>0){

intinByte=Serial.read();

// Arduino用switch语句,根据接收到的不同信息进行相应的反应。

switch(inByte){

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:

// 熄灭所有LED:

for(intthisPin=2;thisPin<7;thisPin++){

digitalWrite(thisPin,LOW);

}

break;

}

}

}

程序说明

Arduino运行以上程序后,用户可以通过串口监视器向Arduino输入字符。该输入信息将赋值给变量inByte。

例如,用户输入字符a,Arduino将执行case ‘a’后面的语句,点亮连接在引脚2上面的LED。再比如,用户输入字符b,Arduino将执行case ‘b’后面的语句,点亮连接在引脚3上面的LED。以此类推…

如果用户的输入字符是a,b,c,d e以外的字符,Arduino将执行default:后面的语句,将所有LED熄灭。

c语言case套case,switch…case相关推荐

  1. c语言 case语句用法,switch case语句的用法

    switch语句是多分支选择语句,用于基于不同的条件来执行不同的动作.下面讲解switch case语句的具体用法. Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有编程经验的 ...

  2. c语言 case语句用法,switch ... case语句的用法[组图]

    switch ... case语句的用法[组图] 08-13栏目:技术 TAG:switch case语句 switch case语句 当情况大于或等于4种的时候就用switch ...  case语 ...

  3. C语言实例二(switch——case用法)

    switch--case用法 一.switch语句概述   1.C语言中switch语句是用于实现多分支结构的选择语句,其特点是各分支清晰而且直观.   2.语句格式如下: switch(表达式) { ...

  4. c语言case的流程图,switch…case 声明

    switch-case 声明 switch语句计算表达式,将表达式的值与case子句匹配,并执行与该case相关的语句. 以下是语法.switch(variable_expression) { cas ...

  5. c#语言switch+case用法,C# switch case语句

    C# switch case 语句也是条件语句的一种,与上一节介绍的<C# if else语句>是类似的,但在判断条件的选择上会有一些局限性. 具体的语法形式如下. switch(表达式) ...

  6. c语言 两个case连在一起,嵌入式C语言 2选择结构 SWITCH CASE

    1. Switch /Case Switch (){ cases: break; default: : 要求写一个简易的计算器程序,实现简单的加减乘除计算,并输出结果. 例如: 输入 1+1  输出结 ...

  7. java switch case 或_Java Switch Case 条件判断

    Java的 Switch Case 语句,可以理解为分支 例子 假设打麻将有四个人 编号为 1 2 3 4 对应名字为 张三,李四,王五,赵六 数据结构 switch(expression){ cas ...

  8. case zhen语句_switch case语句,switch case用法详解

    switch 是"开关"的意思,它也是一种"选择"语句,但它的用法非常简单.switch 是多分支选择语句.说得通俗点,多分支就是多个 if. 从功能上说,sw ...

  9. switch case语句的用法

    switch case语句的用法 我们首先来看一下switch case 语句的一般形式是怎样的 switch(表达式){case 常量1 :代码块:break:case 常量2:代码块:break: ...

  10. java switch case语句_在Java中使用switch Case语句的例子

    当我们有多个选项,并且需要为每个选项执行不同的任务时,就需要使用Switch case语句. Switch case语句的语法如下-switch (variable or an integer exp ...

最新文章

  1. 论文浅尝 - ACL2020 | 用于实体对齐的邻居匹配网络
  2. Python档案袋( 命令行操作 及 Os与Shutil文件操作补充 )
  3. 移动端之flexible.js
  4. 2011计算机等级考试二级c语言公共基础教程.doc,2011年全国计算机等级考试二级c语言公共基础知识复习100题及答案.doc...
  5. Wanna Be a Pragmatic Programmer
  6. make_heap,pop_heap,push_heap
  7. SAP UI5 SmartForm 智能表单控件的使用方法介绍试读版
  8. Python 每日一记1启程
  9. 计算机专业面试银行的自我介绍,银行面试自我介绍1分钟
  10. l2逐笔接口更新的频率是多少?
  11. 雨落阅读量突破1000!
  12. Matlab Bitwise Operator模块
  13. 使用mock模拟数据,实现图片文字向上的轮播
  14. 习题3.3投骰子的随机游戏
  15. Groovy~Groovy的List(列表)操作
  16. python对比php快速入门(语言为python2.7)
  17. 循环冗余码--初识与计算
  18. Android Studio butterknife配置使用
  19. echarts引入中国地图并且下探到省
  20. Google Play应用上架流程 超详细!

热门文章

  1. Umeng统计-上报事件
  2. 太经典了!NBA球员超逗的豪言壮语
  3. python销售数据分析方法_Python数据分析之药品销售案例分析(上)
  4. QQ书签的chrome扩展插件
  5. Kalevitch and Chess(翻译 day 4)
  6. 2022茶艺师(中级)特种作业证考试题库及答案
  7. [BZOJ]1064 [NOI2008] 假面舞会 dfs判环
  8. layui + layer弹出层增删改的操作
  9. 采油工计算机试题库,采油模拟试题集1
  10. 【机器人仿真Webots教程】-控制器编程指南