STM32F429 如何使用LCD

2021-09-11 22:58:23 字數 1566 閱讀 1576

(1)硬體介面

①要明白rgb888控制lcd 和8080控制方式的區別:

tft液晶顯示器使用的是rgb介面,rgb介面包含24根rgb訊號線、畫素同步訊號線、水平同步訊號線、垂直同步訊號線和資料使能訊號線。

效能一般的晶元,通常不會自帶液晶控制器,需要使用自帶液晶控制器器的液晶屏,這類觸控螢幕通常使用ili9341型號的液晶控制晶元。

stm32可以 通過 8080 介面傳送命令編碼控制 ili9341 的工作方式,例如復位指令、設定游標指令、睡眠模式指令等等,具體的指令在ili9341資料手冊均有詳細說明

②rgb:

rgb565 就是r-5bit,g-6bit,b-5bit

rgb555 就是r-5bit,g-5bit,b-5bit

rgb888 就是r-8bit,g-8bit,b-8bit ;其實這就是rgb24

也就是說正常情況下 stm32 f103 或者f 407 都是通過fsmc 來模擬8080控制方式操作ili9341.

然後ili9341通過rgb8888控制lcd。

但是stm32f429 自帶了rgb lcd 外設介面 ltdc,為其直接控制lcd提供了方便。(理論上可以)

(本人使用的方案是stm32f429 使用ltdc介面 控制ili9806(2)stm32f429 自帶了rgb lcd 外設介面

特點:ltdc 可以來直接驅動 rgblcd 使用,另外其配備了專用的影象處理的 dma2dma 硬體加速。

參考資料:安富來v6開發板。

使用cubemx 生產引腳配置。

ltdc 介面需要

參考:(3)stm32f429 也可以使用常規介面fsmc 控制lcd

參看資料:硬石開發板提供的教程

原理:我們使用fsmc來控制 lcd,將tftlcd 當作sram來控制。

那我們如何通過fsmc來控制我們的lcd呢?

fsmc控制nor flash 介面

可以看出前4中線完全一樣,僅在8080的資料和命令選擇時候和fsmc的有區別,此時為了模擬將fsmc的位址a0,接在8080的rs,當a0為0 tftlcd 就是寫指令,a0為1 寫資料。

舉個例子,當向位址為 0x6*** ***1、0x6*** ***3 的奇數字址寫入資料時,位址線 a0(rs)為高電平,這個資料被理解為

數值;若向 0x6*** ***0、0x6*** ***2 這些偶數字址寫入資料時,位址線 a0(rs)為低電平,這個資料被理解為命令。這樣,就可以區分開資料和命令了。

其他資料:在使用ili9806g 時候需要使用spi對該晶元初始化一下。

驅動程式:

STM32F429 如何使用SDRAM

關於stm32f429 控制sdram fmc 擴充套件外部sdram 1 原理介紹 為什麼是fmc 不是 fsmc 區別在那裡!stm32f429使用fmc外設來管理擴充套件的儲存器,fmc是flexible memory controller的縮寫,譯為可變儲存控制器。它可以用於驅動包括sram...

STM32F429 如何使用NAND Flash

1 原理介紹 flash即是儲存晶元的一種,其結合了rom和ram的特點,既具備電可擦除程式設計的效能,又可以快速讀取資料,資料不會因斷電丟失。目前市面上flash主要有nor flash和nand flash。nor flash具有隨機訪問和隨位元組執行寫操作的能力,即可以訪問到儲存器內部的任意乙...

STM32F429 如何使用SDRAM

origin 關於stm32f429 控制sdram fmc 擴充套件外部sdram 1 原理介紹 為什麼是fmc 不是 fsmc 區別在那裡!stm32f429使用fmc外設來管理擴充套件的儲存器,fmc是flexible memory controller的縮寫,譯為可變儲存控制器。它可以用於驅...