发现有TFT厂家标明是ST7735S, 实际使用的是ST7735
若初始化代码不调整, 会出现白屏不显示的问题, 留意下PWCTR4寄存器, 按错误的芯片配置会导致白屏, 对此梳理了两款芯片的指令差异如下:
ST7735 | ST7735S | |||
命令码 | 指令名称 | 后接数据数量 | 指令名称 | 后接数据数量 |
00h | NOP | 0 | NOP | 0 |
01h | SWRESET | 0 | SWRESET | 0 |
04H | RDDID | 4 | RDDID | 4 |
09H | RDDST | 5 | RDDST | 5 |
0AH | RDDPM | 2 | RDDPM | 2 |
0BH | RDD MADCTL | 2 | RDD MADCTL | 2 |
0CH | RDD COLMOD | 2 | RDD COLMOD | 2 |
0DH | RDDIM | 2 | RDDIM | 2 |
0EH | RDDSM | 2 | RDDSM | 2 |
0FH | \ | \ | RDDSDR | 1 |
10H | SLPIN | 0 | SLPIN | 0 |
11H | SLPOUT | 0 | SLPOUT | 0 |
12H | PTLON | 0 | PTLON | 0 |
13H | NORON | 0 | NORON | 0 |
20H | INVOFF | 0 | INVOFF | 0 |
21H | INVON | 0 | INVON | 0 |
26H | GAMSET | 1 | GAMSET | 1 |
28H | DISPOFF | 0 | DISPOFF | 0 |
29H | DISPON | 0 | DISPON | 0 |
2AH | CASET | 4 | CASET | 4 |
2BH | RASET | 4 | RASET | 4 |
2CH | RAMWR | 1 | RAMWR | 1 |
2DH | \ | \ | RGBSET(色表配置) | 9 |
2EH | RAMRD | 2 | RAMRD | 2 |
30H | PTLAR | 4 | PTLAR | 4 |
33H | \ | \ | SCRLAR(滚动相关) | 6 |
34H | TEOFF | 0 | TEOFF | 0 |
35H | TEON | 1 | TEON | 1 |
36H | MADCTL(方向配置) | 1 | MADCTL(方向配置) | 1 |
37H | \ | \ | VSCSAD(滚动相关) | 2 |
38H | IDMOFF | 0 | IDMOFF | 0 |
39H | IDMON | 0 | IDMON | 0 |
3AH | COLMOD(色彩模式) | 1 | COLMOD(色彩模式) | 1 |
03H->444 | 03H->444 | |||
05H->565 | 05H->565 | |||
06H->666 | 06H->666 | |||
DAH | RDDID1 | 2 | RDDID1 | 2 |
DBH | RDDID2 | 2 | RDDID2 | 2 |
DCH | RDDID3 | 2 | RDDID3 | 2 |
B1H | FRMCTR1 | 3 | FRMCTR1 | 3 |
B2H | FRMCTR2 | 3 | FRMCTR2 | 3 |
B3H | FRMCTR3 | 6 | FRMCTR3 | 6 |
B4H | INVCTR | 1 | INVCTR | 1 |
B6H | DISSET5 | 2 | \ | \ |
C0H | PWCTR1 | 2 | PWCTR1 | 3 |
C1H | PWCTR2 | 1 | PWCTR2 | 1 |
C2H | PWCTR3 | 4 | PWCTR3 | 4 |
C3H | PWCTR4 | 4 | PWCTR4 | 2 |
C4H | PWCTR5 | 2 | PWCTR5 | 2 |
C5H | VMCTR1 | 2 | VMCTR1 | 1 |
C7H | VMOFCTR | 2 | VMOFCTR | 2 |
D1H | WRID2 | 1 | WRID2 | 1 |
D2H | WRID3 | 1 | WRID3 | 1 |
D9H | NVCTR1 | 1 | NVCTR1 | 1 |
DEH | NVCTR2 | 1 | NVCTR2 | 2 |
DFH | NVCTR3 | 3 | NVCTR3 | 2 |
E0H | GAMCTRP1 | 16 | GAMCTRP1 | 16 |
E1H | GAMCTRN1 | 16 | GAMCTRN1 | 16 |
F0H | EXTCTRL | 1 | \ | \ |
FCH | PWCTR6 | 2 | \ | \ |
FFH | VCOM4L | 3 | \ | \ |
某宝买的ST7735显示屏, 实际是ST7735S, 初始化代码不一样
附上ST7796S和ILI9488指令对比
ST7796S | ILI9488 | |||
命令码 | 指令名称 | 后接数据数量 | 指令名称 | 后接数据数量 |
00h | NOP | 0 | NOP | 0 |
01h | SWRESET | 0 | SWRESET | 0 |
04H | RDDID | 4 | RDDID | 4 |
D5H | RDDSI | 2 | RDDSI | 2 |
09H | RDDST | 5 | RDDST | 5 |
0AH | RDDPM | 2 | RDDPM | 2 |
0BH | RDD MADCTL | 2 | RDD MADCTL | 2 |
0CH | RDD Pixel Format | 2 | RDD Pixel Format | 2 |
0DH | RDDIM | 2 | RDDIM | 2 |
0EH | RDDSM | 2 | RDDSM | 2 |
0FH | RDDSDR | 2 | RDDSDR | 2 |
10H | SLPIN | 0 | SLPIN | 0 |
11H | SLPOUT | 0 | SLPOUT | 0 |
12H | PTLON | 0 | PTLON | 0 |
13H | NORON | 0 | NORON | 0 |
20H | INVOFF | 0 | INVOFF | 0 |
21H | INVON | 0 | INVON | 0 |
22H | \ | \ | All Pixel OFF | 0 |
23H | \ | \ | All Pixel ON | 0 |
28H | DISPOFF | 0 | Display OFF | 0 |
29H | DISPON | 0 | Display ON | 0 |
2AH | CASET | 4 | CASET | 4 |
2BH | RASET | 4 | RASET | 4 |
2CH | RAMWR | 1 | RAMWR | 1 |
2EH | RAMRD | 2 | RAMRD | 4 |
30H | PTLAR | 4 | PTLAR | 4 |
33H | VSCRDEF | 6 | VSCRDEF | 6 |
34H | TEOFF | 0 | TEOFF | 0 |
35H | TEON | 0 | TEON | 0 |
36H | MADCTL(方向配置) | 1 | MADCTL(方向配置) | 1 |
37H | VSCRSADD | 2 | VSCRSADD | 2 |
38H | IDMOFF | 0 | IDMOFF | 0 |
39H | IDMON | 0 | IDMON | 0 |
3AH | Interface Pixel Format | 1 | Interface Pixel Format | 1 |
01H->SPI_111 | ||||
05H->SPI_565 | 05H->SPI_565 | |||
06H->SPI_666 | 06H->SPI_666 | |||
07H->SPI_888 | 07H->SPI_888 | |||
50H->RGB_565 | 50H->RGB_565 | |||
60H->RGB_666 | 60H->RGB_666 | |||
70H->RGB_888 | ||||
3CH | RAMWRC | 3 | RAMWRC | 3 |
3EH | RAMRDC | 4 | RAMRDC | 4 |
44H | TESCAN | 2 | TESCAN | 2 |
45H | RDTESCAN | 3 | RDTESCAN | 3 |
51H | WRDISBV | 1 | WRDISBV | 1 |
52H | RDDISBV | 2 | RDDISBV | 2 |
53H | WRCTRLD | 1 | WRCTRLD | 1 |
54H | RDCTRLD | 2 | RDCTRLD | 2 |
55H | WRCABC | 1 | WRCABC | 1 |
56H | RDCABC | 2 | RDCABC | 2 |
5EH | WRCABCMB | 1 | WRCABCMB | 1 |
5FH | RDCABCMB | 2 | RDCABCMB | 2 |
68H | \ | \ | Read automatic brightness | 2 |
AAH | RDFCHKSUM | 2 | \ | \ |
AFH | RDCCHKSUM | 2 | \ | \ |
DAH | RDID1 | 2 | RDID1 | 2 |
DBH | RDID2 | 2 | RDID2 | 2 |
DCH | RDID3 | 2 | RDID3 | 2 |
B0H | IFMODE | 1 | IFMODE | 1 |
B1H | FRMCTR1 | 2 | FRMCTR1 | 2 |
B2H | FRMCTR2 | 2 | FRMCTR2 | 2 |
B3H | FRMCTR3 | 2 | FRMCTR3 | 2 |
B4H | INVTR | 1 | INVTR | 1 |
B5H | BPC | 4 | BPC | 4 |
B6H | DFC | 3 | DFC | 3 |
B7H | EM | 1 | EM | 1 |
B9H | \ | \ | Color Enhancement Control 1 | 12 |
BAH | \ | \ | Color Enhancement Control 2 | 12 |
BEH | \ | \ | HS Lanes Control | 2 |
C0H | PWR1 | 2 | PWR1 | 2 |
C1H | PWR2 | 1 | PWR2 | 1 |
C2H | PWR3 | 1 | PWR3 | 1 |
C3H | \ | \ | PWR4 | 1 |
C4H | \ | \ | PWR5 | 1 |
C5H | VCMPCTL | 1 | VCMPCTL | 4 |
C6H | VCM Offset | 1 | CABC Control 1 | 2 |
C7H | ||||
C8H | \ | \ | CABC Control 2 | 1 |
C9H | \ | \ | CABC Control 3 | 1 |
CAH | \ | \ | CABC Control 4 | 1 |
CBH | \ | \ | CABC Control 5 | 1 |
CCH | \ | \ | CABC Control 6 | 1 |
CDH | \ | \ | CABC Control 7 | 1 |
CEH | \ | \ | CABC Control 8 | 1 |
CFH | \ | \ | CABC Control 9 | 1 |
D0H | NVMADW | 2 | NVMADW | 2 |
D1H | NVMBPROG | 3 | NVMBPROG | 3 |
D2H | NVMSTRD | 5 | NVMSTRD | 5 |
D3H | RDID4 | 4 | RDID4 | 4 |
D7H | \ | \ | Adjust Control 1 | 1 |
D8H | \ | \ | RDID4 Check | 2 |
E0H | PGC | 14 | PGC | 15 |
E1H | NGC | 14 | NGC | 15 |
E2H | DGC1 | 64 | DGC1 | 64 |
E3H | DGC2 | 64 | DGC2 | 64 |
E8H | DOCA | 8 | \ | \ |
E9H | Set Image Function | 1 | ||
F0H | CSCON | 1 | \ | \ |
F2H | \ | \ | Adjust Control 2 | 10 |
F7H | \ | \ | Adjust Control 3 | 4 |
F8H | \ | \ | Adjust Control 4 | 2 |
F9H | \ | \ | Adjust Control 5 | 1 |
FBH | SPIRC | 1 | SPIRC | 1 |
FCH | \ | \ | Adjust Control 6 | 2 |
FFH | \ | \ | Adjust Control 7 | 2 |
可看出, ILI9488比ST7796S更强大, 而且SPI接口下支持RGB111模式, 低端应用刷屏可以更快, 用于菜单ui非常不错
价格一致, 为何不选ILI9488?
附上四款TFT驱动芯片横向对比图:
ST7735 | ST7735S | ST7796S | ILI9488 | |||||
命令码 | 指令名称 | 后接数据数量 | 指令名称 | 后接数据数量 | 指令名称 | 后接数据数量 | 指令名称 | 后接数据数量 |
00h | NOP | 0 | NOP | 0 | NOP | 0 | NOP | 0 |
01h | SWRESET | 0 | SWRESET | 0 | SWRESET | 0 | SWRESET | 0 |
04H | RDDID | 4 | RDDID | 4 | RDDID | 4 | RDDID | 4 |
D5H | RDDSI | 2 | RDDSI | 2 | ||||
09H | RDDST | 5 | RDDST | 5 | RDDST | 5 | RDDST | 5 |
0AH | RDDPM | 2 | RDDPM | 2 | RDDPM | 2 | RDDPM | 2 |
0BH | RDD MADCTL | 2 | RDD MADCTL | 2 | RDD MADCTL | 2 | RDD MADCTL | 2 |
0CH | RDD COLMOD | 2 | RDD COLMOD | 2 | RDD Pixel Format | 2 | RDD Pixel Format | 2 |
0DH | RDDIM | 2 | RDDIM | 2 | RDDIM | 2 | RDDIM | 2 |
0EH | RDDSM | 2 | RDDSM | 2 | RDDSM | 2 | RDDSM | 2 |
0FH | \ | \ | RDDSDR | 1 | RDDSDR | 2 | RDDSDR | 2 |
10H | SLPIN | 0 | SLPIN | 0 | SLPIN | 0 | SLPIN | 0 |
11H | SLPOUT | 0 | SLPOUT | 0 | SLPOUT | 0 | SLPOUT | 0 |
12H | PTLON | 0 | PTLON | 0 | PTLON | 0 | PTLON | 0 |
13H | NORON | 0 | NORON | 0 | NORON | 0 | NORON | 0 |
20H | INVOFF | 0 | INVOFF | 0 | INVOFF | 0 | INVOFF | 0 |
21H | INVON | 0 | INVON | 0 | INVON | 0 | INVON | 0 |
22H | \ | \ | All Pixel OFF | 0 | ||||
23H | \ | \ | All Pixel ON | 0 | ||||
26H | GAMSET | 1 | GAMSET | 1 | \ | \ | \ | \ |
28H | DISPOFF | 0 | DISPOFF | 0 | DISPOFF | 0 | Display OFF | 0 |
29H | DISPON | 0 | DISPON | 0 | DISPON | 0 | Display ON | 0 |
2AH | CASET | 4 | CASET | 4 | CASET | 4 | CASET | 4 |
2BH | RASET | 4 | RASET | 4 | RASET | 4 | RASET | 4 |
2CH | RAMWR | 1 | RAMWR | 1 | RAMWR | 1 | RAMWR | 1 |
2DH | \ | \ | RGBSET(色表配置) | 9 | ||||
2EH | RAMRD | 2 | RAMRD | 2 | RAMRD | 2 | RAMRD | 4 |
30H | PTLAR | 4 | PTLAR | 4 | PTLAR | 4 | PTLAR | 4 |
33H | \ | \ | SCRLAR(滚动相关) | 6 | VSCRDEF | 6 | VSCRDEF | 6 |
34H | TEOFF | 0 | TEOFF | 0 | TEOFF | 0 | TEOFF | 0 |
35H | TEON | 1 | TEON | 1 | TEON | 0 | TEON | 0 |
36H | MADCTL(方向配置) | 1 | MADCTL(方向配置) | 1 | MADCTL(方向配置) | 1 | MADCTL(方向配置) | 1 |
37H | \ | \ | VSCSAD(滚动相关) | 2 | VSCRSADD | 2 | VSCRSADD | 2 |
38H | IDMOFF | 0 | IDMOFF | 0 | IDMOFF | 0 | IDMOFF | 0 |
39H | IDMON | 0 | IDMON | 0 | IDMON | 0 | IDMON | 0 |
3AH | COLMOD(色彩模式) | 1 | COLMOD(色彩模式) | 1 | Interface Pixel Format | 1 | Interface Pixel Format | 1 |
03H->444 | 03H->444 | 01H->SPI_111 | ||||||
05H->565 | 05H->565 | 05H->SPI_565 | 05H->SPI_565 | |||||
06H->666 | 06H->666 | 06H->SPI_666 | 06H->SPI_666 | |||||
07H->SPI_888 | 07H->SPI_888 | |||||||
50H->RGB_565 | 50H->RGB_565 | |||||||
60H->RGB_666 | 60H->RGB_666 | |||||||
70H->RGB_888 | ||||||||
3CH | RAMWRC | 3 | RAMWRC | 3 | ||||
3EH | RAMRDC | 4 | RAMRDC | 4 | ||||
44H | TESCAN | 2 | TESCAN | 2 | ||||
45H | RDTESCAN | 3 | RDTESCAN | 3 | ||||
51H | WRDISBV | 1 | WRDISBV | 1 | ||||
52H | RDDISBV | 2 | RDDISBV | 2 | ||||
53H | WRCTRLD | 1 | WRCTRLD | 1 | ||||
54H | RDCTRLD | 2 | RDCTRLD | 2 | ||||
55H | WRCABC | 1 | WRCABC | 1 | ||||
56H | RDCABC | 2 | RDCABC | 2 | ||||
5EH | WRCABCMB | 1 | WRCABCMB | 1 | ||||
5FH | RDCABCMB | 2 | RDCABCMB | 2 | ||||
68H | \ | \ | Read automatic brightness | 2 | ||||
AAH | RDFCHKSUM | 2 | \ | \ | ||||
AFH | RDCCHKSUM | 2 | \ | \ | ||||
DAH | RDDID1 | 2 | RDDID1 | 2 | RDID1 | 2 | RDID1 | 2 |
DBH | RDDID2 | 2 | RDDID2 | 2 | RDID2 | 2 | RDID2 | 2 |
DCH | RDDID3 | 2 | RDDID3 | 2 | RDID3 | 2 | RDID3 | 2 |
B0H | IFMODE | 1 | IFMODE | 1 | ||||
B1H | FRMCTR1 | 3 | FRMCTR1 | 3 | FRMCTR1 | 2 | FRMCTR1 | 2 |
B2H | FRMCTR2 | 3 | FRMCTR2 | 3 | FRMCTR2 | 2 | FRMCTR2 | 2 |
B3H | FRMCTR3 | 6 | FRMCTR3 | 6 | FRMCTR3 | 2 | FRMCTR3 | 2 |
B4H | INVCTR | 1 | INVCTR | 1 | INVTR | 1 | INVTR | 1 |
B5H | BPC | 4 | BPC | 4 | ||||
B6H | DISSET5 | 2 | \ | \ | DFC | 3 | DFC | 3 |
B7H | EM | 1 | EM | 1 | ||||
B9H | \ | \ | Color Enhancement Control 1 | 12 | ||||
BAH | \ | \ | Color Enhancement Control 2 | 12 | ||||
BEH | \ | \ | HS Lanes Control | 2 | ||||
C0H | PWCTR1 | 2 | PWCTR1 | 3 | PWR1 | 2 | PWR1 | 2 |
C1H | PWCTR2 | 1 | PWCTR2 | 1 | PWR2 | 1 | PWR2 | 1 |
C2H | PWCTR3 | 4 | PWCTR3 | 4 | PWR3 | 1 | PWR3 | 1 |
C3H | PWCTR4 | 4 | PWCTR4 | 2 | \ | \ | PWR4 | 1 |
C4H | PWCTR5 | 2 | PWCTR5 | 2 | \ | \ | PWR5 | 1 |
C5H | VMCTR1 | 2 | VMCTR1 | 1 | VCMPCTL | 1 | VCMPCTL | 4 |
C6H | VCM Offset | 1 | CABC Control 1 | 2 | ||||
C7H | VMOFCTR | 2 | VMOFCTR | 2 | ||||
C8H | \ | \ | CABC Control 2 | 1 | ||||
C9H | \ | \ | CABC Control 3 | 1 | ||||
CAH | \ | \ | CABC Control 4 | 1 | ||||
CBH | \ | \ | CABC Control 5 | 1 | ||||
CCH | \ | \ | CABC Control 6 | 1 | ||||
CDH | \ | \ | CABC Control 7 | 1 | ||||
CEH | \ | \ | CABC Control 8 | 1 | ||||
CFH | \ | \ | CABC Control 9 | 1 | ||||
D0H | NVMADW | 2 | NVMADW | 2 | ||||
D1H | WRID2 | 1 | WRID2 | 1 | NVMBPROG | 3 | NVMBPROG | 3 |
D2H | WRID3 | 1 | WRID3 | 1 | NVMSTRD | 5 | NVMSTRD | 5 |
D3H | RDID4 | 4 | RDID4 | 4 | ||||
D7H | \ | \ | Adjust Control 1 | 1 | ||||
D8H | \ | \ | RDID4 Check | 2 | ||||
D9H | NVCTR1 | 1 | NVCTR1 | 1 | ||||
DEH | NVCTR2 | 1 | NVCTR2 | 2 | ||||
DFH | NVCTR3 | 3 | NVCTR3 | 2 | ||||
E0H | GAMCTRP1 | 16 | GAMCTRP1 | 16 | PGC | 14 | PGC | 15 |
E1H | GAMCTRN1 | 16 | GAMCTRN1 | 16 | NGC | 14 | NGC | 15 |
E2H | DGC1 | 64 | DGC1 | 64 | ||||
E3H | DGC2 | 64 | DGC2 | 64 | ||||
E8H | DOCA | 8 | \ | \ | ||||
E9H | Set Image Function | 1 | ||||||
F0H | EXTCTRL | 1 | CSCON | 1 | \ | \ | ||
F2H | \ | \ | Adjust Control 2 | 10 | ||||
F7H | \ | \ | Adjust Control 3 | 4 | ||||
F8H | \ | \ | Adjust Control 4 | 2 | ||||
F9H | \ | \ | Adjust Control 5 | 1 | ||||
FBH | SPIRC | 1 | SPIRC | 1 | ||||
FCH | PWCTR6 | 2 | \ | \ | \ | \ | Adjust Control 6 | 2 |
FFH | VCOM4L | 3 | \ | \ | Adjust Control 7 | 2 |
可见, RGB565最常见最通用, 其次是RGB666, 对于RGB444和RGB111低内存格式虽然不通用, 但是对于低端MCU更友好, 但是ILI9488在SPI模式下,欸有RGB565模式!!!
疑问: 为何没有点阵TFT屏呢?成本上比点阵oled更便宜, 低端应用刷屏更快, 还能上ui