最近的项目,之前用的是st7735 TFT显示屏,128 * 160的,客户希望能显示更多的信息,又希望屏的尺寸不能大,所以我们找到了ST7789驱动的TFT显示屏,分辨率240 * 240,屏幕尺寸比之前的还要小一些。
在网上搜索了一下,有不少st7789的micropython代码,但很多都只能支持GB2312汉字库,只能想显示哪些汉字把对应的汉字点阵字模数据写到代码中,很不方便。就算有少部分提到支持汉字库,但没有提供汉字库文件。所以决定在st7735的基础上修改代码支持st7789。
st7735 TFT显示屏的驱动我们就不多说,有兴趣的朋友可以参考:
MicroPython 开发ESP32应用教程 之 WIFI简单应用 :时间同步、天气信息获取,ST7735 TFT屏驱动及任意中文字符显示
一、硬件准备:
1、支持Micropython的ESP32s3开发板
2、st7735 TFT 128*160 显示屏
3、st7789 TFT 240 * 240显示屏
4、面包板及连接线若干
显示屏与开发板的连接方式:
st7735与st7789显示屏连接ESP32s3的方式相同。
| st7735或st7789 | ESP32S3 |
| SCL | IO4 |
| SDA | IO5 |
| RST | IO6 |
| DC | IO7 |
| CS | IO15 |
| BLK | IO18 |
二、驱动代码修改
如前面所说,我们st7789的驱动代码是在st7735的代码基础上修改而来。
主要修改的部分如下:
1、初始化:
初始化主要是向显示屏的驱动芯片寄存器写入不同的数据,具体的可以查阅ST7735 及ST 7789的规格书,我们这里直接给出代码,大家可以对比一下:
#st7735初始化
def _init(self):
self._reset()
init_commands = [
(0x01, None), # Software reset
(0x11, None), # Sleep exit
(0xB1, b'\x01\x2C\x2D'), # Frame Rate Control (normal mode)
(0xB2, b'\x01\x2C\x2D'), # Frame Rate Control (idle mode)
(0xB3, b'\x01\x2C\x2D\x01\x2C\x2D'), # Frame Rate Control (partial mode)
(0xB4, b'\x07'), #

最低0.47元/天 解锁文章
1044

被折叠的 条评论
为什么被折叠?



