您的位置首页 >要闻 > 半导体 >

飞凌 ElfBoard Python 入门教程|数据类型、条件判断、嵌套条件判断实操

ElfBoard(ELF2/ELF2-Lite)预装 Ubuntu 系统,支持 Python 快速开发,GPIO、传感器、AI 实验都要先掌握基础数据类型与 if 条件判断;这节课是 ElfBoard 编程入门的基础,学会之后就可以读取 ADC、温湿度传感器,根据采集数值控制 LED、继电器,很多初学者踩坑集中在类型不匹配、缩进错误、嵌套 if 层级混乱,Python 靠缩进区分代码块,和 C 语言大括号写法不一样,在 ElfBoard 开发时缩进错了程序直接报错或者逻辑乱跑。整套学习顺序:先认识 Python 基础数据类型,再学习 if 基础条件判断,接着练习多分支 elif,最后掌握嵌套 if,结合开发板传感器采集场景写可直接运行的示例代码。

一、ElfBoard Python 常用数据类型

类型说明开发板常用场景
int 整型整数,如 1、25、0ADC 采样值、GPIO 引脚编号、温度整数
float 浮点小数,25.6、32.1温湿度、电压、传感器浮点读数
str 字符串"hello"串口打印、屏幕显示文字
bool 布尔True / False条件判断、开关状态、传感器触发标记
list 列表[1,2,3]多通道采集数据缓存

重点:条件判断的表达式最终结果一定是布尔 True/False;传感器读到的数字如果是字符串,直接比较会报错,必须先转 int/float。

二、基础条件判断(if /if-else/elif)

Python 语法核心:冒号 + 缩进,缩进统一用 4 个空格,不要混用 Tab。

  1. 单 if

temp = 28

if temp > 25:

print("ElfBoard采集温度偏高")

  1. if-else 二分支

temp = 22

if temp > 25:

print("温度偏高,打开风扇")

else:

print("温度正常,风扇关闭")

  1. if-elif-else 多分支(适合多档位阈值)

temp = 18

if temp > 28:

print("高温")

elif temp < 20:

print("低温")

else:

print("正常区间")

比较运算符:> < >= <= == !=

逻辑运算符:and(并且) or(或者) not(取反)

三、嵌套条件判断(if 里面再写 if,ElfBoard 传感器高频用法)

嵌套 if 适合先判断大前提,再细分次级条件,典型场景:先判断传感器是否在线,再判断温度是否超标;先判断按键按下,再区分长按短按。

示例代码:

ElfBoard 模拟传感器读取

sensor_ok = True

temp = 30

if sensor_ok == True:

print("传感器正常")

if temp > 28:

print("温度过高,启动继电器")

else:

print("温度正常")

else:

print("传感器断线,告警")

嵌套规则:内层 if 要比外层再多缩进一级;嵌套层数不要太深,超过 3 层可读性变差,容易出 bug。

四、ElfBoard 开发实操易错点

  1. 缩进错误:Python 缩进是语法,C 语言不需要;在 ElfBoard 终端运行,缩进不对直接抛 IndentationError。
  2. 类型不匹配:ADC 读取串口拿到的是字符串,"30">28 直接报错,要用int()转换。
  3. ==和=混淆:=是赋值,==才是判断相等,新手高频错误。
  4. 布尔大小写:必须大写 True/False,小写 true/false 识别失败。
  5. 嵌套过多:嵌套 if 超过 3 层,建议改成多 elif 或者逻辑 and 合并条件。

五、ElfBoard 硬件联动小案例(可直接在开发板运行)

模拟读取板载ADC电压,控制LED

vol = 2.6

if vol > 2.0:

print("电压高于阈值")

if vol > 3.0:

print("过压警告,关闭输出")

else:

print("正常高电平,点亮LED")

else:

print("电压偏低,LED熄灭")

【相关 FAQ】

问题 1:飞凌 ElfBoard 做 Python 条件判断,为什么 if 里面的代码运行报错,大多是什么原因?

回答 1:飞凌 ElfBoard 运行 Python 条件判断代码报错,最常见是缩进混乱、把赋值=写成判断==、传感器读到的字符串没有转数字类型、True/False 大小写写错。

问题 2:ElfBoard 嵌套条件判断适合什么嵌入式场景,嵌套 if 和 and 逻辑写法怎么选?

回答 2:ElfBoard 嵌套条件判断适合先校验设备状态(传感器是否在线、引脚是否就绪),再做阈值细分;如果是同一组条件并行判断,优先用 and/or 合并,不建议盲目嵌套。

问题 3:ElfBoard 读取传感器数据做 if 判断,传感器返回字符串,直接和数字比较为什么不行?

回答 3:ElfBoard 传感器串口、ADC 读取返回的是字符串数据类型,字符串和数字不能直接对比,需要用 int () 或者 float () 转换成数字类型之后,才能放到条件判断里比较。

【参考资料】

[2026-11-07](飞凌嵌入式 ElfBoard - 数据类型 - 条件判断 - 嵌套条件判断)与非网

[2026-11-07](ElfBoard ELF2 Python 入门实验手册)飞凌 ElfBoard 官网

[2026-10-31](ElfBoard Python 布尔类型、逻辑运算实验)与非网

[2026-11-02](ElfBoard GPIO、ADC 采集 Python 示例)飞凌开发者社区

免责声明

本文为 ElfBoard 配套 Python 入门教学内容,代码示例为教学演示;实际硬件采集、继电器控制务必增加硬件保护,IO、ADC 驱动请参考飞凌官方 SDK,避免硬件损坏。