STM32 HAL库驱动LCD与触摸屏开发实战
📚 共计 30 章节
第01章
LCD基础与选型
LCD工作原理 · TFT-LCD与OLED对比 · 分辨率与接口(SPI/8080/MIPI) · 常用驱动IC(ILI9341/ST7789)
选型
原理
第02章
HAL库GPIO模拟8080时序
8080并口时序(RS/RD/WR/CS/DB) · GPIO配置 · 延时模拟读写 · 实战:初始化LCD并读取ID
GPIO
时序
第03章
FSMC接口驱动LCD
FSMC外设原理 · 映射8080接口 · HAL库FSMC配置 · 地址映射与读写 · 实战:驱动3.5寸LCD
FSMC
并口
第04章
SPI接口驱动LCD
SPI协议(模式0/1/2/3) · HAL库SPI配置 · SPI DMA传输 · 实战:驱动1.8寸TFT(ST7735)
SPI
DMA
第05章
LCD驱动层封装
抽象LCD对象结构体 · 通用接口(Init/DrawPixel/FillScreen) · 多驱动兼容 · 实战:统一驱动ILI9341/ST7789
封装
抽象
第06章
画点与画线算法
Bresenham直线算法 · 中点圆算法 · 矩形与圆角矩形 · 实战:绘制几何图形
算法
图形
第07章
中英文字体显示
字模原理(取模软件) · ASCII/GB2312字库 · Flash存储 · 多字号缩放 · 实战:12x12/16x16中文
字体
字库
第08章
BMP图片解码与显示
BMP文件格式(文件头/信息头/像素) · SD卡读取 · RGB565/888转换 · 实战:全屏显示BMP
BMP
解码
第09章
JPEG图片解码与显示
JPEG压缩原理 · TJPEG库移植 · Huffman/IDCT/色彩转换 · 实战:显示JPEG并测速
JPEG
TJPEG
第10章
PNG图片解码与显示
PNG格式(无损/Alpha通道) · LodePNG移植 · 透明通道处理 · 实战:显示透明PNG图标
PNG
透明
第11章
触摸屏原理与选型
电阻触摸(四线/五线) · 电容触摸(互电容/自电容) · 触摸IC(FT5x06/GT911) · I2C接口
触摸
选型
第12章
I2C协议与HAL库配置
I2C协议(起始/停止/应答) · HAL库主从配置 · 时序调试 · 实战:扫描I2C设备地址
I2C
协议
第13章
FT5x06电容触摸驱动
FT5x06寄存器(触摸点状态/坐标) · HAL库I2C读取 · 多点触摸处理 · 实战:单点坐标读取
FT5x06
驱动
第14章
GT911电容触摸驱动
GT911配置(复位/配置表) · 寄存器读写 · 触摸事件解析 · 实战:两点手势(缩放/旋转)
GT911
手势
第15章
触摸校准算法
坐标映射 · 三点校准法 · 最小二乘法 · 实战:校准程序并保存参数到Flash
校准
算法
第16章
触摸手势识别
单击/双击/长按 · 滑动方向 · 多点捏合/旋转 · 实战:图片浏览器缩放翻页
手势
交互
第17章
GUI框架设计
分层架构(驱动/抽象/控件/应用) · 事件驱动 · 消息队列 · 实战:搭建最小GUI框架
架构
框架
第18章
窗口与控件系统
窗口管理器 · 按钮(按下/释放/禁用) · 标签 · 文本框 · 实战:登录界面
控件
窗口
第19章
列表视图与滚动
列表数据结构 · 惯性滚动/边界回弹 · 列表项复用 · 实战:文件浏览器
列表
滚动
第20章
进度条与滑块控件
进度条绘制 · 滑块交互(拖动/值变化) · 自定义皮肤 · 实战:音量调节滑块
滑块
进度
第21章
下拉菜单与选择框
菜单状态机 · 选项管理 · 选择回调 · 实战:设置菜单语言选择
菜单
选择
第22章
图表与波形显示
折线图/柱状图 · 实时数据(环形缓冲区) · 实战:ADC采样波形显示
图表
波形
第23章
虚拟键盘输入
键盘布局(QWERTY/数字) · 按键反馈(声音/震动) · 输入法切换 · 实战:文本输入框虚拟键盘
键盘
输入
第24章
动画与过渡效果
帧动画 · 补间动画(线性/缓动) · 页面切换(滑动/淡入淡出) · 实战:滑动切换页面
动画
过渡
第25章
FreeRTOS与GUI结合
任务划分(GUI/触摸/应用) · 消息队列 · 互斥锁 · 实战:多任务GUI应用
FreeRTOS
多任务
第26章
LVGL图形库移植
LVGL简介与架构 · 移植步骤(显示/输入/心跳) · 配置修改 · 实战:运行LVGL demo
LVGL
移植
第27章
LVGL控件使用
基础控件(btn/label/slider/list) · 样式系统 · 事件回调 · 实战:智能家居控制面板
LVGL
控件
第28章
LVGL高级特性
动画系统 · 字体管理 · 图片缓存 · 内存优化 · 实战:低内存MCU性能优化
LVGL
优化
第29章
综合项目:智能手表界面
表盘设计(指针/数字) · 菜单导航 · 心率显示(模拟) · 触摸交互 · 实战:手表UI原型
项目
手表
第30章
综合项目:工业HMI触摸屏
多页面管理 · 报警列表 · 数据曲线 · 参数设置 · 实战:工业控制面板GUI
项目
HMI