Mengapa board yang sama bisa memiliki pengontrol berbeda
Board display murah dibangun dari panel yang dibeli di pasar terbuka. Saat sebuah batch berganti pemasok, pengontrolnya pun bisa berubah, sementara nama board, PCB, dan pinout tetap sama. ESP32-2432S028R (Cheap Yellow Display) dan ESP32-2432S024 sama-sama ada dalam versi ILI9341 dan ST7789.
Identifikasi berdasarkan gejala
Yang terlihat dengan pengaturan ILI9341 | Kemungkinan penyebab | Perbaikan |
|---|---|---|
Layar putih atau kosong, backlight menyala | Pengontrolnya ST7789 | Beralih ke driver ST7789 |
Gambar muncul, warna terlihat negatif | Panel ST7789 memerlukan inversi | Ubah inversi ( |
Merah dan biru tertukar | Urutan warna | Atur urutan BGR ( |
Gambar tercermin atau bergeser | Pengaturan rotasi / akses memori | Ubah rotasi (MADCTL) |
Semuanya gelap | Pin backlight salah atau dipakai ulang | Periksa GPIO backlight |
Ubah satu pengaturan setiap kali dan simpan contoh yang terbukti berfungsi sebagai pembanding.
Identifikasi dengan membaca ID
Jika board menyambungkan jalur MISO panel, Anda dapat membaca ID pengontrol alih-alih menebak. ILI9341 menjawab 0x9341 pada perintah Read ID4 (0xD3). Di TFT_eSPI, tft.readcommand8(0xD3, n) membaca byte n dari sebuah register. Jika Anda tidak mendapatkan 0x93 dan 0x41, coba driver ST7789. Board tanpa MISO tidak dapat dibaca, jadi gunakan tabel gejala.
Pengaturan yang berbeda
Item | ILI9341 | ST7789 |
|---|---|---|
Driver TFT_eSPI | | |
LovyanGFX | | |
ESP-IDF | | |
Inversi | biasanya mati | sering menyala |
Templat untuk keduanya ada di halaman ILI9341 dan ST7789V.
Menghindarinya pada produk
Untuk produk, tentukan modul yang datasheet-nya menyebutkan pengontrol dan pemasoknya menetapkan pengontrol itu per lot produksi, agar firmware tidak rusak antar-batch. Modul SPI 2,8 inci 240×320 kami memakai ST7789V yang ditetapkan; sampel mulai 1 pcs.
Pertanyaan yang sering diajukan
Bisakah kode ILI9341 berjalan di ST7789?
Tidak andal. Keduanya pengontrol 240×320, tetapi urutan inisialisasinya berbeda, jadi ganti driver alih-alih menambal kode ILI9341.
Mengapa warna di display ST7789 saya terbalik?
Banyak panel ST7789 memerlukan inversi display (INVON). Aktifkan TFT_INVERSION_ON atau panggil tft.invertDisplay(true).
Bagaimana cara membaca ID pengontrol?
Dengan MISO tersambung, baca register 0xD3 (Read ID4): ILI9341 mengembalikan 0x93 0x41. Tanpa MISO, identifikasi berdasarkan gejala.

