c语言case2什么意思,switchCase2
## **Switch和Case条件语句2**
If语句允许你根据条件的真假(真(TRUE)或假(FALSE))进行两个分支操作。当需要进行多个判断时,你就必须使用If嵌套。不过其实还有一种更为简洁的处理多条件判断的方法,那就是使用switch语句,switch语句允许你一次对多种情况进行区分。本例向你展示如何使用switch语句来根据串口收到的命令打开、关闭指定的LED。命令是一系列字符:a、b、c、d、e,分别对应5个LED。
### **所需硬件**
* Arduino或Genuino板
* 5个LED
* 5个220Ω电阻
* 跳线
* 面包板
* 连接线
### **电路**
![图片来自官网](https://img-blog.csdn.net/20160531125408452)
5个LED分别串接一个220Ω电阻并且分别连接到**2**、**3**、**4**、**5**、**6**引脚。板子应该与电脑,并且确保Arduino 串口监视器已经打开。你可以发送**a**、**b**、**c**、**d**、**e**来点亮指定LED,发送其他任意字符关闭所有LED。
### **原理图**
![图片来自官网](https://img-blog.csdn.net/20160531125353280)
### **代码**
~~~
/*
Switch和Case条件语句2
展示switch语句的使用,switch语句让你能够一次对变量的多个可能值进行分支处理,这和使用一系列if语句嵌套的功效相同。但使用switch将使代码更加简洁。
为了看到效果,请打开串口监视器。发送a b c d e中的任意一个字符可以打开指定LED。发送其他字符关闭所有LED。
电路搭建:
* 5个LED串接220Ω电阻连接到2-6引脚
代码公开
*/
void setup() {
// 初始化串口通信:
Serial.begin(9600);
// 初始化LED引脚:
for (int thisPin = 2; thisPin < 7; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}
void loop() {
// 读取传感器:
if (Serial.available() > 0) {
int inByte = Serial.read();
// 根据收到的字符进行不同处理:
// case后应紧跟符合的条件(某个字符)
// 下面代码使用了单引号来告诉单片机:给我ASCII值,比如
// 'a' = 97, 'b' = 98 以此类推
switch (inByte) {
case 'a':
digitalWrite(2, HIGH);
//译者注:这个break很重要。如果不加,那么程序就会在执行这个case之后一路执行下去。例如:如果这里不加break而inByte又是‘a’,则b也会被执行。由于b后面有break,所以switch case就结束了。如果b也没有。那么程序就会 a->b->c 以此类推。所以一般case最后都要有break。读者可以全部不加break,然后在每一个case中输出调试信息来亲身体会。
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关闭:
//如果所有的case都没有匹配上,default后面就会被执行
for (int thisPin = 2; thisPin < 7; thisPin++) {
digitalWrite(thisPin, LOW);
}
}
}
}
~~~
### **相关资料**
[serial.begin()](https://www.arduino.cc/en/Serial/Begin)
[serial.read()](https://www.arduino.cc/en/Serial/Read)
[serial.available()](https://www.arduino.cc/en/Serial/Available)
[switch() case](https://www.arduino.cc/en/Reference/SwitchCase)
[digitalWrite()](https://www.arduino.cc/en/Reference/DigitalWrite)
[原文连接](http://www.arduino.cc/en/Tutorial/SwitchCase2)
c语言case2什么意思,switchCase2相关推荐
- C语言练习题100道
最近有人给我要联系C语言的一些例题,从网上找了一写,顺便写到这里 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的 ...
- 「杂谈」如何写好R语言apply家族函数
感觉好久没发有关R语言的博客了.这一年来,我着手开发了两个R包,但基本没怎么发博客. 原因也很简单,可能是我个人的私心吧,或者说是典型的"理论研究者"的"通病" ...
- c语言猜拳游戏中出现的关键词,C语言猜拳游戏代码及分析
赋值操作符.比较操作符.算术操作符.逻辑操作符.位域操作符,如"="."+="">="."<="." ...
- dart 语言是jvm_Dart编译技术在服务端的探索和应用
前言 最近闲鱼技术团队在Flutter+Dart的多端一体化的基础上,实现了FaaS研发模式.Dart吸取了其它高级语言设计的精华,例如Smalltalk的Image技术.JVM的HotSpot和Da ...
- C语言13567星号如何输出,c语言程序编程心得
c语言程序设计 本课介绍c语言程序设计的基本方法和基本的程序语句. 从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构.分支结构.循环结构.这三种基本结构可以组成所有的各种复杂程序.c语言提供 ...
- 北邮国院c语言期末考试题,北邮C语言复习题2014.ppt
C语句概述 C 程序的编写和实现 源程序 文本文件 C 目标文件 二进制文件 OBJ 可执行文件 二进制文件 EXE 库文件 各种函数 有些编辑系统 可直接从源程序编译连接至可执行程序 F7 comp ...
- 学生选课管理系统c语言程序报告,c语言课程设计学生选课管理系统实验报告.doc...
课程设计报告 课程设计题目:学生选课管理系统 学 号 姓 名:李唐松 专 业:软件工程 班 级: 091107 指导老师:谢小林 2009年1月5 *实验题目: 学分管理程序 *实验时间与地点:200 ...
- 餐厅管理程序c语言源代码,课内资源 - 基于C++的餐厅管理程序的设计与实现
摘 要 随着计算机应用技术的快速发展和日益普及,网络也遍及到我们生活的每个角落,为我们的学习和工作带来极大的方便.很多人都使用过传统的文字,纸张管理手段,与之不同的另外一种管理方式就是利用电脑程序管理 ...
- go语言中及格比较特殊的switch语法
go语言中几种特殊的switch语法 package mainimport ("fmt" )func main() {// go语言中switch的特殊用法// 当没有expr的时 ...
最新文章
- 浮点数和整数的区别python_Python中整数和浮点数
- 近五年计算机网络技术的发展,计算机网络技术的近期发展
- Windows——Modern Standby(现代待机) S0改Suspend to RAM(待机到内存)S3睡眠解决方案(以机械革命F1 i5-11300H为例)
- unreal4怎么设置游戏模式_ue4(虚幻4)基础 Unreal4 服务器模式详细介绍
- 学了前端可以做什么?前端开发有哪些应用场景??
- Oracle 用户信息查询,操作语句
- 【vim】vim常用命令
- 【工具使用】SecureCRT的下载、安装图文详细过程介绍
- 计算机房网络布线培训方案,网络工程综合布线实训授课计划.doc
- Android Srt和Ass字幕解析器
- 思科模拟器去除登陆界面
- 计算机主机启动不了系统怎么办,电脑蓝屏开不了机怎么办
- 电脑开机密码忘了怎么办
- 大数据与云计算学习:Python网络数据采集
- Linux 安装 Composer
- 2021年9月国产数据库排行榜:达梦奋起直追紧逼OceanBase,openGauss反超PolarDB再升一位...
- ASP错误代码中文说明大全:
- Web前端工程师怎么样呢?薪资待遇如何呢?
- 《操作系统》总结四(文件管理)
- Horizon DAAS环境Log4J远程代码执行漏洞危害减轻措施