在嵌入式程序设计中,流程控制是核心之一,而逻辑运算符“与”(&&)和“或”(||)则是构建复杂条件判断的基石。本文将以STM32开发为例,详细解析这两个运算符在图形化编程工具米思齐(Mixly) 和标准C语言中的使用逻辑与实战方法。
在米思齐的控制栏中,可以找到“逻辑中的且(&&)和或(||)”代码块,其使用原理与C语言完全相通。

核心逻辑与区别
- “与”(&&):要求连接的两个(或多个)条件必须同时满足,结果才为真。
- “或”(||):只要连接的两个(或多个)条件中有一个满足,结果即为真。
“与”(&&)运算符使用实例
1. 数字量(高低电平)判断
以下代码要求同时满足PA0和PA1引脚均为高电平时,条件才成立(逻辑真值为1)。任何一者为低电平则不满足。
// 伪代码示意:PA0 == 高电平 && PA1 == 高电平
2. 模拟量(数值范围)判断
此例中,假设PA0读取的是温度模拟量。代码含义是判断温度是否在22到25度之间。它需要同时满足“大于22”与“小于25”两个条件。
// 伪代码示意:(PA0模拟值 > 22) && (PA0模拟值 < 25)
思考:如果直接将上述代码中的“与”(&&)替换为“或”(||),逻辑上将变为“温度大于22度或者小于25度”,这几乎涵盖了所有数值,显然与原意不符。这提醒我们,深入理解算法与数据结构中的基础逻辑是写出正确程序的关键。
“或”(||)运算符使用实例
假设PA0和PA1连接了两个独立按键(按下为低电平)。以下代码表示:只要任意一个按键被按下,条件就成立。
// 伪代码示意:PA0 == 低电平 || PA1 == 低电平
嵌套使用:实现多条件复杂判断
“与”(&&)和“或”(||)支持嵌套使用,理论上可以连接无数个条件,以应对复杂的实际场景。
例如,一个环境监测报警系统需要同时判断温度、湿度和烟雾浓度。我们可以使用“或”(||)的嵌套来实现:只要温度大于28度、湿度大于95%、烟雾值大于20这三个条件中的任何一个成立,就触发报警。
// 伪代码示意:(温度 > 28) || (湿度 > 95) || (烟雾 > 20)
当然,你也可以混合使用“与”和“或”来构建更精细的逻辑,例如“(温度高 && 湿度大) || 烟雾浓度超标”。掌握这些基本的网络与系统控制逻辑后,便可根据具体需求灵活组合。
米思齐与C语言的对应关系
在底层代码层面,米思齐的图形化模块与C语言运算符存在直接映射:
- 米思齐中的 且 对应 C语言中的 &&
- 米思齐中的 或 对应 C语言中的 ||
理解这种对应关系,有助于我们从图形化编程平滑过渡到纯代码编写,深化对程序执行流程的理解。


|