如下图的1.9寸屏(170x320,ST7789驱动),在Arduino IDE或PlatformIO Arduino框架下,使用TFT_eSPI库开发时遇到了显示偏移的问题:
关键点:
(1)在ST7789_Defines.h中增加设法使能CGRAM_OFFSET。
//ST7789_Defines.h中
#if (TFT_HEIGHT == 170) && (TFT_WIDTH == 320)
#ifndef CGRAM_OFFSET
#define CGRAM_OFFSET
#endif
#endif
(2)在ST7789_Rotation.h中修改行列的偏移量。
//在ST7789_Rotation.h中,switch (rotation) {}内,对应自己屏幕设置的旋转方向的case下,增加:
else if(_init_width == 320)
{
colstart = 0;
rowstart = 35;
}
修改后效果变正常:
或者简单一些直接在其他地方实现,没有深究。
欢迎讨论~
评论0
暂时没有评论