2018年10月23日 星期二

DIY - ESP32:ESP32 ILI9341 2.4吋 SPI TFT LCD 液晶屏程式(十四)

DIY - ESP32:ESP32 ILI9341 2.4吋 SPI TFT LCD 液晶屏程式(十四):

ESP32 ILI9341 SPI (Serial Peripheral Interface Bus)TFT LCD 液晶屏程式是包括 LCD 初始化和 LCD 顯示程式,LCD 初始化程式主要是控制 LCD 的 CS(GPIO15 /G15)、D/C(GPIO16 /G16)和 SCK(GPIO14 / G14)接腳,並且要寫入初始化的資料給予 ILI9341 MOSI(GPIO13 / G13)或 MISO(GPIO12 / G12),這樣便可以令 ILI9341 等待顯示數據資料。

ESP32 ILI9341 2.4吋 SPI TFT LCD 液晶屏製作
ESP32 連接 ILI9341 SPI TFT LCD 模組:
ILI9341 SPI
Signal
Description
ESP32 Board
Board Signal
I/O Signal
1
Vcc
2.7 ~ 3.3V
1
Vcc
Vcc
2
GND
GND
38
GND
GND
3
CS
Chip Select
23
G15
GPIO15
4
Reset
Reset
1
Vcc
Vcc
5
DC
Data / Command
27
G16
GPIO16
6
MOSI
Master Output Slave Input
(MOSI)
15
G13
GPIO13
7
SCK
Serial Clock Input
(SCLK)
12
G14
GPIO14
8
LED
LED Control
1
Vcc
Vcc
9
MISO
Master Input Slave Output
(MISO)
13
G12
GPIO12

ESP32 ILI9341 SPI TFT LCD 液晶屏 IO 設定:
// ESP32 ILI9341 TFT I/O Definition
#define PIN_NUM_MISO 12
#define PIN_NUM_MOSI 13
#define PIN_NUM_CLK   14
#define PIN_NUM_CS     15

#define PIN_NUM_DC     16


ESP32 ILI9341 SPI TFT LCD 液晶屏初始化程式:
void  ili9341_hspi_init(void)
{
    esp_err_t ret;
    spi_bus_config_t buscfg={
        .miso_io_num=PIN_NUM_MISO,
        .mosi_io_num=PIN_NUM_MOSI,
        .sclk_io_num=PIN_NUM_CLK,
        .quadwp_io_num=-1,
        .quadhd_io_num=-1
    };
    spi_device_interface_config_t devcfg={
        .clock_speed_hz=10*1000*1000, //Clock out at 10 MHz
        .mode=0,                                    // SPI mode 0
        .spics_io_num=PIN_NUM_CS,   // CS pin
        .queue_size=7,                           // 7 transactions at a time
        .pre_cb=lcd_spi_pre_transfer_callback,  // Callback to handle D/C line
    };

    //Initialize the SPI bus
    ret=spi_bus_initialize(HSPI_HOST, &buscfg, 1);
    assert(ret==ESP_OK);
   
    //Attach the LCD to the SPI bus
    ret=spi_bus_add_device(HSPI_HOST, &devcfg, &spi);
    assert(ret==ESP_OK);

操作系統:Windows 7 64-bit 版本
開發環境:AiThinker05 版本
原程碼: ESP32 ESP-IDF V3.0rc1
程式: DIY-ESP32-053-ILI9341_SPI_ESP8266_HSPI_03_Test-20181020


ESP-12F ILI9341 SPI TFT LCD 液晶屏運作中
ESP-12F ILI9341 SPI TFT LCD 液晶屏顯示
相關網址:
※ DIY - ESP32:ESP32 ILI9341 2.4吋 SPI TFT LCD 液晶屏電路(十三)
※ DIY - ESP32:ESP32 SPI 驅動 IO 介紹(十五)
※ DIY - ESP32:ESP32 SPI Master 主驅動 API 函數(十六)
※ DIY - ESP32:ESP32 SPI Master 主驅動 API 函數結構件(十七)

2018年 10月 23日 天氣報告
氣溫:25.8@ 09:05
相對濕度:百分之 72%
天氣:多雲

沒有留言:

張貼留言