用到TFTLCD液晶屏的嵌入式产品,在硬件的交互界面上可以通过对LCD寄存器的控制,实现UI图片的滚动显示,提升用户体验
以GC9A01芯片驱动得圆形LCD为例,数据手册上描述33H、37H就是与垂直滚动刷图相关的寄存器具体介绍如下图所示
33H寄存器
37H寄存器
对于ST77XX系列芯片驱动的TFTLCD也是同样的控制这两个寄存器
根据数据手册的描述,滚动刷屏在代码中的实现逻辑主要是这样的
1.配置33号寄存器设置显示区域的大小
2.初始化刷图的起始行数和当前滚动行数的记录,目的是控制图片为向上滚动还是向下滚动
3.刷图窗口坐标定位
4.写入图片数据到LCD
5.修改滚动行数记录
6.配置37号寄存器保存当前的滚动行数
具体的代码如下图所示,这是向上滚动的API
向上滚动
代码中有延时500us主要目的是稍微延长滚动的时间,让显示效果更好一些
向下滚动
目前我刷入LCD的图片是从外部 flash里面读取的,并非直接放在代码里面,这里可能有点点差别,得根据实际的运用场景,稍作调整
具体的效果展示,请看我之前发布的LCD滚动视频。
看到这里了,都还不点个关注吗,[泪奔][泪奔][泪奔][泪奔]