ST7701和ST7701S区别

这个问题问得非常好,而且90%做RGB屏的人都会踩坑 (尤其是你现在用ESP32-S3 RGB接口)。我给你从芯片本质 + 驱动工程角度讲清楚。


一、先给结论(你最关心的)

👉 ST7701 和 ST7701S:

✔ 本质是同一系列(Sitronix同一架构)

ST7701S = ST7701的升级/增强版本


👉 驱动能不能通用?

⚠️ 大部分可以通用,但不能直接无脑通用!

👉 具体:

  • ✔ 时序(RGB接口)基本一致
  • ✔ 接口(SPI+RGB / MIPI)基本一致
  • ❗ 初始化寄存器(init code)通常不一样(关键点)

二、从芯片角度看区别(工程重点)

1️⃣ 架构本质:几乎一样

两者都是:

TFT LCD Driver + Timing Controller(TCON)+ 电源管理


2️⃣ ST7701S 的增强点(重点)

根据资料👇

  • 支持 更多接口(SPI / RGB / MIPI) (Scribd)

  • 支持 更灵活的色深(RGB565/666/888) (Scribd)

  • 内置:

    • 电源管理(charge pump)
    • Gamma调节
    • CABC(省电) (Scribd)

👉 还有一个关键点:

内置NV存储(OTP)可以保存初始化参数 (Scribd)


3️⃣ ST7701 vs ST7701S 的实际差异总结

项目 ST7701 ST7701S
发布时间
接口支持 RGB/MIPI 更完整
功能 基础 更丰富
功耗优化 一般 更好
初始化方式 固定 可存储(OTP)
应用 早期屏 现在主流

三、最关键的区别(你必须记住)

👉 不是"功能差多少"

👉 而是:

初始化指令(init sequence)不同!


为什么?

LCD模块厂商会:

text 复制代码
同一个IC(ST7701S)
→ 不同屏厂
→ 不同参数(gamma、电压、方向)
→ 不同初始化代码

👉 所以你会看到:

  • 同样ST7701S
  • 不同屏
  • init完全不一样

四、驱动能不能通用?(工程答案)

✔ 可以通用的部分

1️⃣ RGB时序(ESP32-S3用的)

text 复制代码
VSYNC / HSYNC / DE / PCLK

👉 完全通用

👉 因为是标准RGB接口 (Scribd)


2️⃣ LVGL / framebuffer逻辑

👉 完全无关IC型号


❗不能通用的部分(重点)

❗初始化代码(最关键)

c 复制代码
write_cmd(0xB0);
write_data(...);

👉 不同屏:

  • 电压不同
  • gamma不同
  • 扫描方向不同

👉 结果:

❌ 用错 → 白屏 / 花屏 / 偏色 / 不亮


五、你现在项目中的真实情况(很重要)

你用的是:

👉 ESP32-S3 + RGB屏(ST7701S很常见)


实际工作方式:

text 复制代码
SPI → 只负责初始化
RGB → 真正传图像

👉 这个很多人一开始会误解(非常关键)


六、一个非常重要的行业现实(必须知道)

👉 ST7701 / ST7701S:

几乎没有"标准驱动"


👉 真相是:

✔ 每一块屏 = 一套独立初始化代码


👉 你必须:

✔ 用厂家提供的 init code

✔ 或从 demo 里抄


七、你可以这样理解(很形象)

👉 ST7701 / ST7701S 就像:

text 复制代码
CPU型号一样
但BIOS不同

👉 不同屏厂:

  • 电压配置不同
  • Gamma曲线不同
  • 扫描方向不同

八、给你一个工程建议(非常重要)

✔ 正确做法

👉 不要问:

❌ "ST7701和ST7701S能不能通用驱动?"


👉 应该问:

"这个屏的初始化代码是多少?"


✔ 推荐流程

text 复制代码
1️⃣ 找屏厂家
2️⃣ 要 init code
3️⃣ 移植到ESP32
4️⃣ 配RGB时序(porch)

九、如果你硬要通用(高级玩法)

可以做:

👉 写一个"通用驱动框架":

c 复制代码
lcd_init(cmd_list);

👉 不同屏:

c 复制代码
const init_cmd_t st7701s_xxx[] = {...};

十、总结一句话(帮你记住)

👉 ST7701 vs ST7701S:差别不大,关键是初始化参数不同


十一、结合你当前阶段给你建议(很实用)

你现在重点应该放在:

1️⃣ RGB时序调通(porch + PCLK)

2️⃣ 拿到正确init code

3️⃣ LVGL显示


👉 不要在"芯片型号差异"上浪费太多时间


如果你愿意,可以把你现在用的那块屏:

👉 型号 / 链接 / init代码 发我

我可以帮你:

✔ 检查init是否正确

✔ 帮你适配ESP32-S3

✔ 甚至帮你直接点亮 👍

相关推荐
余生皆假期-2 小时前
永磁同步电机的星形 (Y) 和三角形 (Δ) 有何不同?
单片机·嵌入式硬件
点灯小铭2 小时前
基于单片机的空气质量检测仪系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
狂奔蜗牛(bradley)2 小时前
嵌入式软件中如何用责任链模式重构串口协议栈
网络·单片机·mcu·重构·责任链模式
时空自由民.2 小时前
LCD显示的图像散乱原因
单片机
悠哉悠哉愿意3 小时前
【单片机复习笔记】十三届国赛复盘2
笔记·单片机·嵌入式硬件
清风6666663 小时前
基于单片机的矿井温度、烟雾与甲烷检测通风报警系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
水云桐程序员3 小时前
单片机如何工作|单片机工作原理
单片机·嵌入式硬件
水云桐程序员3 小时前
用C语言开发单片机项目的工作思路
c语言·开发语言·单片机
Freak嵌入式3 小时前
MicroPython LVGL基础知识和概念:底层渲染与性能优化
人工智能·python·单片机·性能优化·嵌入式·lvgl·micropython