当前位置: 首页 > web >正文

【嵌入式C语言】五

6.7条件运算符的应用案例

6.8Switch开关语句

6.9switch 语句使用多个case使用1个break

Switch语句只能是整型、字符型、枚举型的变量表达式,浮点型会报错

6.10枚举类型及应用案例

  • 枚举类型是int类型的数据类型,可以让数据更简洁、更易读
  • 当数据只有有限个数的数值组成时,通常用枚举类型
  • 语法格式: enum 枚举类型名称{枚举元素1,枚举元素2,...};

说明:

  1. 枚举元素的类型是int类型,如果没有明确赋值,数值从0开始,依次递增1;
  2. }后面需要有;

定义一个枚举类型的变量等于blue,仿真调试,可验证变量为3

如果对枚举类型的第一个元素赋值是1,那么就会从1开始递增

同时也支持枚举类型的数据不连续、

将上面显示月份的案例用枚举类型表示

值得注意的是,这里的JUN等并不是字符串,而是整型的名称

6.11一个软件版本承载多个产品型号

第一种方案是写两套代码对两个型号进行测试

,这种方法不提倡,当代码出现问题时,需要更改两套代码,费时费力

方案二只用一套代码工程,这种方案的维修成本小了很多

实现方法是对两个型号的代码进行编译宏开关

下面的红色字体代码是判断宏定义是否生效,如果生效则执行里面的代码,不生效就不执行,在编译阶段会被忽略掉

方案三只提交一种版本

在归档版本镜像时根据ab型号的的不同参数进行编写

这种方案需要有上位机软件选择A型号还是B型号,然后可以通过串口发送给单片机,单片机收到型号参数以后,需要将其固化到ROM中保存起来

设备在运行时如何区分自己是哪个型号然后执行不同的业务逻辑呢?

  1. 首先可以使用枚举类型定义a和b
  2. 然后程序初始化时候,从flash空间里面读取产品型号参数放到变量里
  3. 在传感器初始化函数里面判断是否为a型号,如果是,调用相关代码
  4. 同样在获取传感器数据函数里面,也是判断是否为a型号

7.1for 循环语句

7.2for语句的嵌套循环

7.3while循环语句

7.4do-while循环语句

7.5break跳转语句

http://www.xdnf.cn/news/18025.html

相关文章:

  • ESP32-C3_SMARTCAR
  • AI客户维护高效解决方案
  • Matlab利用系统辨识工具箱辨识自带数据集的控制系统参数(传递函数篇)
  • 【web自动化】-8-EXCEL数据驱动
  • Web攻防-大模型应用LLM搭建接入第三方内容喂养AI插件安全WiKI库技术赋能
  • (自用)console.log怎么上色
  • Linux————网络基础
  • Kafka生产者原理深度解析
  • 晶振电路的负载电容、电阻参数设计
  • 力扣 hot100 Day74
  • 读《精益数据分析》:黏性(Stickiness)—— 验证解决方案是否留住用户
  • MySQL 关键字总结,并结合 SQL 类型(DDL / DML / DQL / DCL / TCL) 说明每类关键字的作用、使用场景和示例
  • Pr cs6安装教程
  • 标题:移动端安全加固:发散创新,筑牢安全防线引言:随着移动互联网
  • 【多模态大模型】--BLIP3
  • 集成电路学习:什么是Object Detection目标检测
  • Apache 如何支持SHTML(SSI)的配置方法
  • DAY41打卡
  • 高等数学 8.3 平面及其方程
  • 力扣top100(day04-04)--栈
  • 结构体(Struct)、枚举(Enum)的使用
  • MySQL的学习笔记
  • 基于Spring Boot的智能民宿预订与游玩系统设计与实现 民宿管理系统 民宿预订系统 民宿订房系统
  • Fiddler 实用指南,让网络调试更直观、更高效
  • 【秋招笔试】2025.08.15饿了么秋招机考-第三题
  • 4.3 computed watch watchEffect
  • 日本CN2服务器租用多少钱
  • sqli-labs通关笔记-第50关 GET数值型order by堆叠注入(手工注入+脚本注入两种方法)
  • Redis 缓存和 Redis 分布式锁
  • Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)