目录:
环境
使用GUI-Guider绘制ui说明
主要代码逻辑
实际效果
环境:
基于freertos,小安派Eyse-S1 + LVGL
使用GUI-Guider绘制ui说明:主页面Ui绘制效果如下,实现功能有 显示总电压信息,电芯个数,温度传感器个数,由bms上报的最高单体电压,以及对应编号,最高单体温度以及编号等
使用GUI-Guider绘制ui说明:主页面Ui绘制效果如下,实现功能有 显示总电压信息,电芯个数,温度传感器个数,由bms上报的最高单体电压,以及对应编号,最高单体温度以及编号等
![image.png image.png](data/attachment/forum/202401/08/193412y0ofthnuwdnyyja0.png)
其次是点击图表按键可以跳转到显示出各个电芯的电压、温度图表页面
![image.png image.png](data/attachment/forum/202401/08/193433pvxzp8qyordtr23j.png)
最后是开机logo,找到一个新能源车结构图作为开机画面,在开机后会停留1s钟,随后向右滑走显示出主页面
![image.png image.png](data/attachment/forum/202401/08/193458rewv8m0wdqwr8wmd.png)
主要代码逻辑:
1. 上电开机后初始化时钟以及外设io、串口、屏、触摸等,需要打开对应模块宏配置。
未做时钟调整,沿用的demo中320MHz的时钟频率
![image.png image.png](data/attachment/forum/202401/08/193644fkzkofgj8kk5kjnk.png)
配置打开lvgl以及freertos配置
![image.png image.png](data/attachment/forum/202401/08/193543ib2h8630516w3626.png)
![image.png image.png](data/attachment/forum/202401/08/193557hzkey5jwy5c5zwkv.png)
2. 随后新建子线程lvgl_task任务,主要处理预存缓冲器数据更新到ui显示等
![image.png image.png](data/attachment/forum/202401/08/193802hd3i67f7h7fr67n3.png)
实际效果:
1. logo显示后滑动消失
![image.png image.png](data/attachment/forum/202401/08/193852az0dtsq10iiofm0t.png)
2. 电池信息显示效果如下:
![image.png image.png](data/attachment/forum/202401/08/193950w49ok5bjioo03z49.png)
3. 通过点击图标按钮后切换到电芯电压数据,因只有前三个电芯于是后面几个都是0,点击返回按钮则切换回去上一页面
![image.png image.png](data/attachment/forum/202401/08/194025i4qqasa4zs111sms.png)
视频演示效果: