找回密码
 立即注册
查看: 201|回复: 4

关于彩屏驱动,都是st7789驱动芯片,2.4可以,2.0就不行,有经验求解

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:117
  • 最近打卡:2026-03-15 14:54:05

52

主题

51

回帖

760

积分

高级会员

积分
760
发表于 2026-1-31 13:52:59 | 显示全部楼层 |阅读模式
我买了两块并口彩屏,一个2.4,一个2.0,驱动芯片ST7789,理论上可以使用同一个程序驱动,但2.4可以,2.0就不行,求大佬解惑

GMT020-07规格书V1.pdf

1012 KB, 下载次数: 3

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2026-03-27 08:57:04
已绑定手机

104

主题

4202

回帖

9329

积分

荣誉版主

无情的代码机器

积分
9329
发表于 2026-1-31 14:47:19 | 显示全部楼层
最好是找屏幕厂商要例程

这有个7789 2.0寸的初始化序列,看看是否可用
AiCube 图形化自动生成程序,TFT-彩屏@Ai8051U, 驱动 ST7735S,ST7739, ST7789 - 第9页 - TFT彩屏,触摸屏,DMA-i8080/M6800并口自动刷屏,DMA-SPI刷屏,外设直接到外设 国芯人工智能技术交流网站 - AI32位8051交流社区
  1. void lcd_initial_320_240_020()
  2. {
  3.     SPI_SCK_0;
  4.     SPI_RST_0;
  5.     delay_ms(1000);
  6.     SPI_RST_1;
  7.     delay_ms(1000);
  8.     TFT_SEND_CMD(0x11); // Sleep Out
  9.     delay_ms(120);      // DELAY120ms
  10.     //--------------------------------ST7789S Frame rate setting----------------------------------//
  11.     TFT_SEND_CMD(0x2a);  // Column address set
  12.     TFT_SEND_DATA(0x00); // start column
  13.     TFT_SEND_DATA(0x00);
  14.     TFT_SEND_DATA(0x00); // end column
  15.     TFT_SEND_DATA(0xef);
  16.     TFT_SEND_CMD(0x2b);  // Row address set
  17.     TFT_SEND_DATA(0x00); // start row
  18.     TFT_SEND_DATA(0x28);
  19.     TFT_SEND_DATA(0x01); // end row
  20.     TFT_SEND_DATA(0x17);
  21.     TFT_SEND_CMD(0xb2); // Porch control
  22.     TFT_SEND_DATA(0x0c);
  23.     TFT_SEND_DATA(0x0c);
  24.     TFT_SEND_DATA(0x00);
  25.     TFT_SEND_DATA(0x33);
  26.     TFT_SEND_DATA(0x33);
  27.     TFT_SEND_CMD(0x20); // Display Inversion Off
  28.     TFT_SEND_CMD(0xb7);  // Gate control
  29.     TFT_SEND_DATA(0x56); // 35
  30.     //---------------------------------ST7789S Power setting--------------------------------------//
  31.     TFT_SEND_CMD(0xbb);  // VCOMS Setting
  32.     TFT_SEND_DATA(0x18); // 1f
  33.     TFT_SEND_CMD(0xc0); // LCM Control
  34.     TFT_SEND_DATA(0x2c);
  35.     TFT_SEND_CMD(0xc2); // VDV and VRH Command Enable
  36.     TFT_SEND_DATA(0x01);
  37.     TFT_SEND_CMD(0xc3);  // VRH Set
  38.     TFT_SEND_DATA(0x1f); // 12
  39.     TFT_SEND_CMD(0xc4); // VDV Setting
  40.     TFT_SEND_DATA(0x20);
  41.     TFT_SEND_CMD(0xc6); // FR Control 2
  42.     TFT_SEND_DATA(0x0f);
  43.     // TFT_SEND_CMD(0xca);
  44.     // TFT_SEND_DATA(0x0f);
  45.     // TFT_SEND_CMD(0xc8);
  46.     // TFT_SEND_DATA(0x08);
  47.     // TFT_SEND_CMD(0x55);
  48.     // TFT_SEND_DATA(0x90);
  49.     TFT_SEND_CMD(0xd0);  // Power Control 1
  50.     TFT_SEND_DATA(0xa6); // a4
  51.     TFT_SEND_DATA(0xa1);
  52.     //--------------------------------ST7789S gamma setting---------------------------------------//
  53.     TFT_SEND_CMD(0xe0);
  54.     TFT_SEND_DATA(0xd0);
  55.     TFT_SEND_DATA(0x0d);
  56.     TFT_SEND_DATA(0x14);
  57.     TFT_SEND_DATA(0x0b);
  58.     TFT_SEND_DATA(0x0b);
  59.     TFT_SEND_DATA(0x07);
  60.     TFT_SEND_DATA(0x3a);
  61.     TFT_SEND_DATA(0x44);
  62.     TFT_SEND_DATA(0x50);
  63.     TFT_SEND_DATA(0x08);
  64.     TFT_SEND_DATA(0x13);
  65.     TFT_SEND_DATA(0x13);
  66.     TFT_SEND_DATA(0x2d);
  67.     TFT_SEND_DATA(0x32);
  68.     TFT_SEND_CMD(0xe1); // Negative Voltage Gamma Contro
  69.     TFT_SEND_DATA(0xd0);
  70.     TFT_SEND_DATA(0x0d);
  71.     TFT_SEND_DATA(0x14);
  72.     TFT_SEND_DATA(0x0b);
  73.     TFT_SEND_DATA(0x0b);
  74.     TFT_SEND_DATA(0x07);
  75.     TFT_SEND_DATA(0x3a);
  76.     TFT_SEND_DATA(0x44);
  77.     TFT_SEND_DATA(0x50);
  78.     TFT_SEND_DATA(0x08);
  79.     TFT_SEND_DATA(0x13);
  80.     TFT_SEND_DATA(0x13);
  81.     TFT_SEND_DATA(0x2d);
  82.     TFT_SEND_DATA(0x32);
  83.     TFT_SEND_CMD(0x36); // Memory data access control
  84. #if (DIS_DIR == 0)      // 正常竖显
  85.     TFT_SEND_DATA(0x00);
  86. #elif (DIS_DIR == 1) // 旋转90度显示
  87.     TFT_SEND_DATA(0xA0);
  88. #elif (DIS_DIR == 2) // 旋转180度显示
  89.     TFT_SEND_DATA(0xC0);
  90. #elif (DIS_DIR == 3) // 旋转270度显示
  91.     TFT_SEND_DATA(0x60);
  92. #endif
  93.     TFT_SEND_CMD(0x3A);  // Interface pixel format
  94.     TFT_SEND_DATA(0x55); // 65K
  95.     // TFT_SEND_DATA(0x66);      //262K  RGB 6 6 6
  96.     TFT_SEND_CMD(0xe7); // SPI2 enable    启用2数据通道模式
  97.     TFT_SEND_DATA(0x00);
  98.     TFT_SEND_CMD(0x21); // Display inversion on
  99.     TFT_SEND_CMD(0x29); // Display on
  100.     TFT_SEND_CMD(0x2C); // Memory write
  101. }
复制代码


三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:117
  • 最近打卡:2026-03-15 14:54:05

52

主题

51

回帖

760

积分

高级会员

积分
760
发表于 2026-1-31 15:58:19 | 显示全部楼层
erci*** 发表于 2026-1-31 14:47
最好是找屏幕厂商要例程

这有个7789 2.0寸的初始化序列,看看是否可用

我把初始化函数按这个改过,商家提供的例程就是这样,按他这个初始化2.4英寸屏颜色有所变化,但2.0屏还是不能显示

点评

让卖家提供测试视频?检查检查线路连接啥的,不行退货换一个,,,  详情 回复 发表于 2026-1-31 16:09
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2026-03-27 08:57:04
已绑定手机

104

主题

4202

回帖

9329

积分

荣誉版主

无情的代码机器

积分
9329
发表于 2026-1-31 16:09:00 | 显示全部楼层
dong*** 发表于 2026-1-31 15:58
我把初始化函数按这个改过,商家提供的例程就是这样,按他这个初始化2.4英寸屏颜色有所变化,但2.0屏还是 ...

让卖家提供测试视频?检查检查线路连接啥的,不行退货换一个,,,
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:117
  • 最近打卡:2026-03-15 14:54:05

52

主题

51

回帖

760

积分

高级会员

积分
760
发表于 2026-2-1 09:06:53 | 显示全部楼层
erci*** 发表于 2026-1-31 16:09
让卖家提供测试视频?检查检查线路连接啥的,不行退货换一个,,,

非常感谢,线路检查检测了,我先从一家买的,不行,
又从我之前买过2.0串口那家,买了一块,还是不行,
两个都是一样,只是背光亮,这个驱动用在串口2.0上,
并口2.4上都是没有问题,很是奇怪。
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-27 12:11 , Processed in 0.113251 second(s), 68 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表