说明

就像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. 影像组学视频学习笔记(6)-特征筛选之LASSO回归(理论)、Li‘s have a solution and plan.
  2. 学容器必须懂 bridge 网络 - 每天5分钟玩转 Docker 容器技术(32)
  3. 高薪Java工程师必看的书籍
  4. Markdown常用转义字符
  5. oracle导入中文数据出现乱码
  6. Linux加密框架crypto AES代码相关
  7. php yii 表单title,Yii2.0-ActiveForm表单结构自定义教程
  8. 一线互联网企业面试题总结(帮你成功拿到offer)
  9. 一些不错的sql语句
  10. 服务器显示转速负数,Moldflow使用常见问题及解决方案
  11. 【TI-ONE系列教程(三)】如何使用 TI-ONE 平台内置框架玩转算法大赛
  12. 阿里云解决方案汇总,24种上云场景,20O+篇企业上云实践
  13. java order()_Java Comparator naturalOrder()用法及代码示例
  14. Server:基本的服务器
  15. 基于MPlayer的QT媒体播放器
  16. SharpDevelop5.1支持.net4.5.2以上版本
  17. 如何区分共射极放大电路与共基极放大电路?
  18. 一篇文章带你快速了解荧光蛋白
  19. 环境信息术语(HJ/T 416—2007)
  20. 廖雪峰 php教程,获取廖雪峰老师的Python3教程的php脚本

热门文章

  1. 微信小程序图片上传和预览以及取消上传图片案例
  2. 数据治理-理论-2-基本过程
  3. FTP上传或下载偶尔出现文件为空
  4. 基于STM32的电子琴音乐播放器设计
  5. AppsFlyer SDK 接入
  6. 4-14 递归求阶乘和 (10分)
  7. 为什么会有BFC?BFC是什么?如何触发?BFC解决了什么问题?
  8. 摄像头模组介绍和技术指标
  9. java全文检索工具_TRS全文检索开发文档及API,工具包
  10. 【学习笔记】斯特林反演+单位根反演