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

【嵌入式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.dtcms.com/a/333701.html

相关文章:

  • 如何一个响指删除计算机里的一半文件?(二)
  • 【工具】多图裁剪批量处理工具
  • 基于element-plus和IndexedDB数据库的基础表单
  • 嵌入式:Linux软件编程:线程
  • 深入浅出的 RocketMQ-面试题解析
  • AI架构师生存手册:图解避坑MCP工具链/智能体RAG/推理蒸馏实战
  • TF 上架协作实战,跨部门配合下的内测发布节奏管理
  • Cursor CLI 技术解析:免费调用 GPT-5 的命令行方案
  • 工控机的用途与介绍:工业自动化的重要引擎
  • [激光原理与应用-287]:理论 - 波动光学 - 电磁波既能承载能量,又能承载信息?
  • Systemd Service 文件详解
  • 反射和类加载机制
  • Leetcode 最小生成树系列(2)
  • 深入解析 Monkey OCR:本地化、多语言文本识别的利器与实践指南
  • 德州扑克游戏术语
  • 什么是Redis的哨兵模式
  • 针对前面2篇文章的一个细节的修订(UAC ADC/DAC录音播放,以及UAC ADC/PWM录音播放)
  • const修饰指针用法详解
  • libdrm 和 libgbm
  • 零基础从头教学Linux(Day 13)
  • 13_集合框架
  • ScanNet项目介绍
  • Linux网络配置:聚合链路与网桥实战
  • 开疆智能ModbusTCP转Ethernet网关连接FBOX串口服务器配置案例
  • MySQL多表查询案例
  • 360 集团20周年会:战略升级ALL IN Agent,抢占智能体时代先机
  • OSCP - Proving Grounds - CVE-2024-25180
  • 基于WSL搭建Ubuntu 22.04.x LTS开发环境
  • LLM - 使用 SGLang 部署 Qwen3-32B 与 Qwen2.5-VL-32B-Instruct
  • 《GUI-Actor: Coordinate-Free Visual Grounding for GUI Agents》论文精读笔记