筆者之前已經在 ESP8266 使用過 SPI 的 SSD1306 0.96吋 OLED 屏,但 SPI 的 ILI9341 LCD 液晶屏並未有使用在 ESP8266 SOC 上。筆者在 PIC24FJ64GA008 是使用過 ILI9341 LCD 屏,ILI9341 的原理和規格都介紹過,由於 PIC24F I/O 接口多,使用 ILI9341 的並行接口(8 條數據 + 6條控制 = 14條 I/O)。而 ESP8266 SOC 的 I/O 祇有 11個,所以這次將使用 SPI 的ILI9341 LCD 液晶屏(2 條數據 + 1條時鐘 + 1條控制 = 4條 I/O),應該也是沒太大的問題。
ILITEK(奕力)ILI9341 驅動芯片 |
ILITEK(奕力)ILI9341 驅動芯片的 SPI 接口 |
ILITEK(奕力)ILI9341 驅動芯片的 SPI 接口設定 |
ILI9341的 3線 SPI 串行模式連接 |
ILI9341的 4線 SPI 串行模式連接 |
讀取模式是指主機從 ILI9341 中讀取寄存器的參數或顯示其數據。主機必需送一個命令(讀取ID或寄存器命令),ILI9341 在 SCL(串行時鐘)的上升沿鎖存 SDA(輸入數據),然後在 SCL(串行時鐘)的下降沿移位 SDA(輸出數據)。 讀取狀態命令發送後,SDA 線必須設置為三態,且不得遲於最後一位 SCL 的下降沿。 根據指令代碼,讀取模式有三種類型的發送指令數據(8 /24 /32-位)。
ILI9341的 3線 SPI 串行模式時序 |
ILI9341的 4線 SPI 串行模式時序 |
ILI9341 3線串行數據包包含一個數據命令選擇位(D/CX)和一個發送字節。 如果 D/CX 位是低(0),則傳輸字節被解釋為一個命令字節。 如果 D/CX 位為高(1),則發送字節作為顯示數據 RAM(存儲器寫入命令)或命令寄存器存儲為參數。ILI9341 可以任何順序發送任何指令,並且首先發送MSB。 串行接口初始化是當 CSX 處於高位時。 在這種狀態下,SCL 時鐘脈沖和 SDA 數據不起作用。 CSX 上的下降沿啟用串行接口並指示數據傳輸的開始。 請參閱詳細的數據格式 3/4線串行接口。
ILI9341的 3線 SPI 串行模式資料格式 |
ILI9341的 3線 SPI 串行模式資料格式 |
ILI9341的 3線 SPI 串行模式介面協議 |
ILI9341的 4線 SPI 串行模式介面協議 |
※ DIY - PIC24:2.8吋TFT LCD ILI9341電阻式觸摸液晶屏介紹(十六)
※ DIY - PIC24:ILITEK(奕力)ILI9341 驅動蕊片介紹(十七)
※ DIY - PIC24:2.8吋TFT LCD ILI9341 電阻式觸摸液晶屏電路設定(十八)
※ DIY - PIC24:PIC24FJ64GA008 連接 2.8吋TFT LCD 液晶屏電路連接(十九)
※ DIY - PIC24:PIC24FJ64GA008 ILI9341 LCD 液晶屏初始化(二十)
※ DIY - PIC24:PIC24FJ64GA008 ILI9341 LCD 讀寫方式(二十一)
※ DIY - PIC24:PIC24FJ64GA008 ILI9341 和 LCD1602 顯示(二十二)
※ DIY - PIC24PIC24FJ64GA008 ILI9341 LCD 液晶屏測試程式(二十三)
※ DIY - ESP8266:SSD1306 0.96吋 SPI OLED 屏電路(二十三)
※ DIY - ESP8266:ILITEK(奕力)ILI9341 2.4吋 SPI TFT LCD 液晶屏介紹(九十五)
※ DIY - ESP8266:ESP-12F ILI9341 2.4吋 SPI TFT LCD 液晶屏電路(九十六)
※ DIY - ESP8266:ESP-12F ILI9341 SPI TFT LCD 液晶屏程式(九十七)
2018年 5月 14日 天氣報告
氣溫:27.2度 @ 20:20
相對濕度:百分之 78%
天氣:天色大致良好
沒有留言:
張貼留言