体温计 · OLED 驱动与菜单
📚 30 章节
实战
⚡ SSD1306 / I2C
🎯 点我跳转对应 .html
01
OLED显示原理
SSD1306
物理结构 · 像素点阵 · 自发光 · 驱动芯片介绍
02
I2C通信协议
总线
物理层 · 起始/停止 · 数据帧 · 7位地址 · 时钟同步
03
SSD1306初始化
上电时序
命令表解析 · 初始化序列 · 常见失败排查
04
像素操作基础
GDDRAM
页/列地址 · 写数据 · 单像素 · 全屏填充测试
05
画点与画线
Bresenham
直线算法 · 画点/线优化 · 水平垂直斜线
06
几何图形绘制
圆/矩形
空心/实心矩形 · 中点圆 · 三角形 · 椭圆
07
字符显示原理
ASCII字模
5x7 · 8x16字体 · 字模提取 · 显示函数
08
中文字库显示
GB2312
16x16点阵 · 字库读取 · 中文函数封装
09
图片显示
BMP解析
1位BMP转OLED · 全屏/局部刷新
10
滚动与动画
水平/垂直
滚动命令 · 页面模式 · 帧动画实现
11
菜单系统架构
分层设计
节点数据结构 · 菜单栈 · 事件驱动
12
菜单渲染引擎
高亮/滚动条
绘制函数 · 选中效果 · 子菜单指示符
13
按键输入处理
消抖/状态机
短按/长按/双击 · 中断与轮询
14
菜单导航逻辑
上下/返回
移动选中 · 进入子菜单 · 首页末页循环
15
参数设置菜单
EEPROM
数值加减 · 范围限制 · 步进 · 保存
16
温度传感器驱动
DS18B20
单总线协议 · 读取时序 · CRC · 多传感器
17
温度数据采集
定时/平均
多次采样 · 异常过滤 · 转换公式
18
温度显示界面
趋势图
实时刷新 · 最高/最低记录 · ℃/℉切换
19
报警阈值设置
高温/低温
阈值使能 · 保存与加载
20
报警逻辑实现
蜂鸣器/LED
阈值比较 · 蜂鸣器驱动 · 状态清除
21
历史记录功能
Flash存储
时间戳 · 翻页查看 · 清空记录
22
系统设置菜单
亮度/翻转
对比度 · 屏幕翻转 · 休眠时间
23
多语言支持
中英文切换
资源表 · 动态加载 · UTF-8处理
24
低功耗设计
休眠/唤醒
OLED休眠 · CPU睡眠 · 电池电量
25
菜单动画效果
淡入/滑动
图标旋转 · 打开/关闭过渡
26
触摸屏适配
手势识别
电容触摸 · 坐标映射 · 滑动/点击
27
固件升级
Bootloader
固件包格式 · UART升级 · 进度显示
28
调试与日志
串口/OLED
日志等级 · 错误码系统
29
性能优化
DMA/双缓冲
帧率优化 · 代码空间优化
30
综合项目实战
产品整合
功能整合 · UI流程 · 压力测试 · 产品化