Chuyển đến nội dung
Display Engineer
Xử lý sự cố

ILI9341 hay ST7789: cách nhận biết màn hình của bạn dùng bộ điều khiển nào

Các board bán cùng tên có thể dùng bộ điều khiển ILI9341 hoặc ST7789. Cách nhận biết qua triệu chứng hoặc bằng cách đọc thanh ghi ID, và các cài đặt khắc phục màn hình trắng và sai màu.

DEDisplay Engineer Applications Team · Kỹ sư ứng dụng màn hìnhKỹ sư rà soát 11 thg 10, 2026

Vì sao cùng một board có thể có bộ điều khiển khác

Board màn hình giá rẻ được làm từ tấm nền mua trên thị trường tự do. Khi một lô đổi nhà cung cấp, bộ điều khiển cũng có thể thay đổi, trong khi tên board, PCB và sơ đồ chân vẫn giữ nguyên. ESP32-2432S028R (Cheap Yellow Display) và ESP32-2432S024 đều có phiên bản ILI9341 và ST7789.

Nhận biết qua triệu chứng

Hiện tượng với cấu hình ILI9341

Nguyên nhân có thể

Cách sửa

Màn hình trắng hoặc trống, đèn nền sáng

Bộ điều khiển là ST7789

Chuyển sang driver ST7789

Có hình, màu trông như âm bản

Tấm nền ST7789 cần đảo màu

Bật/tắt đảo màu (TFT_INVERSION_ON)

Đỏ và xanh dương bị hoán đổi

Thứ tự màu

Đặt thứ tự BGR (TFT_RGB_ORDER TFT_BGR)

Ảnh bị lật gương hoặc lệch

Cài đặt xoay / truy cập bộ nhớ

Đổi hướng xoay (MADCTL)

Tối hoàn toàn

Sai chân đèn nền hoặc bị dùng lại

Kiểm tra GPIO đèn nền

Thay đổi từng cài đặt một và giữ một ví dụ chạy tốt để so sánh.

Nhận biết bằng cách đọc ID

Nếu board có nối đường MISO của tấm nền, bạn có thể đọc ID bộ điều khiển thay vì đoán. ILI9341 trả về 0x9341 cho lệnh Read ID4 (0xD3). Trong TFT_eSPI, tft.readcommand8(0xD3, n) đọc byte n của một thanh ghi. Nếu không nhận được 0x93 và 0x41, hãy thử driver ST7789. Board không có MISO thì không đọc được, nên hãy dùng bảng triệu chứng.

Các cài đặt khác nhau

Mục

ILI9341

ST7789

Driver TFT_eSPI

ILI9341_DRIVER / ILI9341_2_DRIVER

ST7789_DRIVER

LovyanGFX

Panel_ILI9341

Panel_ST7789

ESP-IDF

espressif/esp_lcd_ili9341

esp_lcd_new_panel_st7789() (tích hợp sẵn)

Đảo màu

thường tắt

thường bật

Mẫu cấu hình cho cả hai có trên trang ILI9341 và ST7789V.

Tránh vấn đề này trong sản phẩm

Với sản phẩm, hãy chỉ định module có datasheet ghi rõ bộ điều khiển và nhà cung cấp cố định bộ điều khiển cho mỗi lô sản xuất, để firmware không bị hỏng giữa các lô. Module SPI 2,8 inch 240×320 của chúng tôi dùng ST7789V được chỉ định; mẫu từ 1 chiếc.

Câu hỏi thường gặp

Mã ILI9341 có chạy trên ST7789 được không?

Không ổn định. Cả hai đều là bộ điều khiển 240×320, nhưng chuỗi khởi tạo khác nhau, nên hãy đổi driver thay vì vá mã ILI9341.

Vì sao màu trên màn hình ST7789 của tôi bị đảo?

Nhiều tấm nền ST7789 cần đảo màu hiển thị (INVON). Bật TFT_INVERSION_ON hoặc gọi tft.invertDisplay(true).

Làm sao đọc ID bộ điều khiển?

Khi có nối MISO, đọc thanh ghi 0xD3 (Read ID4): ILI9341 trả về 0x93 0x41. Không có MISO thì nhận biết qua triệu chứng.

Module được nhắc đến trong hướng dẫn

Chưa chắc màn hình nào phù hợp thiết kế của bạn?

Gửi kích thước, giao tiếp và bộ xử lý host. Kỹ sư màn hình sẽ phản hồi trong 12 giờ với 2–3 phương án, datasheet và mã khởi tạo. Mẫu từ 1 chiếc.