这篇文章以1.13寸的屏幕为例记录屏幕垂直滑动的实现过程。首先要有一个基本的认知,每个屏厂设计的屏幕位移都是不一样的,这里使用的这家屏厂X_START=52; Y_START=40
,所以下面的图有两个区域,外面的区域是ST7789的RAM区域,即240*320,而里面的区域就是用户看到的屏幕实际显示的区域,即135*240。

一般情况下显示图片的其实坐标都是从(0,0)开始的,而事实上驱动里面已经将坐标偏移了X_START和Y_START,为了兼容程序,滑动的起始区域可以定义为(0,-40),通过函数计算实际坐标,所以这里坐标就有可能传入负数了

对屏幕的RAM和实际的显示区域有了一定的认知后,就可以配置滑动的区域和方向了。

滑动区域寄存器说明:

滑动方向寄存器说明:

开始滑动的方式其实就是改变RAM的起始地址。

相关寄存器说明:

测试代码:

网友评论