關系專業知識
STM32
根據SPI通訊在STM32上應用TFT LCD顯示器
軟硬件詳細介紹
我正在應用的LCD是含有SPI通信的2.8英尺TFT LCD。 在文中,將集中化探討怎樣在2.8英尺LCD上表明所需內容。 您可以從下列網頁頁面尋找相關此LCD的全部詳細資料:
由于沒有過多有關將這類LCD與STM32板一起應用的表明,因此我將為該LCD撰寫詳細的指引。
最先,此LCD應用SPI做為與MCU的關鍵通訊協議。 針對STM32客戶,HAL庫早已完成了該協義,這使大家的新項目更為非常容易。 可是,對于此事協義的一點掌握并不會損害所有人。 SPI是串行通信外部設備插口的簡稱,除開兩根手機充電線以外,它還具備鐘表線和挑選線,以在要與之通訊的設施相互間做出挑選。
該LCD應用ILI9341做為屏幕分辨率為240×320的顯示屏的soc芯片SOC控制器。 可以在ILI9341的開始文本文檔中尋找大量詳細資料。 可是最重要的是,大家務必創建一個運行次序才可以使該LCD一切正常工作中。 “逐漸序列”包含很多別的序列,這種序列也在數據分析表中界定。 當您向ILI9341推送指令并接著跟進一些主要參數時,每一個序列都是會逐漸。 此序列適用MCU與ILI9341中間的全部通訊。
LCD和STM32F4E-Discovery中間的聯接如下所示。 (這也是SPI1的默認設置管腳。)
針對此新項目,我建議應用STM32的System Workbench開展編號和搭建編碼。 安裝并開啟程序流程后,轉至您剛保存的源代碼,隨后雙擊鼠標.cproject文件。 它會在您的IDE中全自動開啟。 隨后根據右鍵單擊剛開啟的文件夾名稱(TFTLCD)并挑選Build Project來搭建程序流程。 等候它進行并將其上傳入板上,方式是右鍵單擊該文件夾名稱,挑選“運作方法”,隨后點擊“ Ac6 STM32C”
為了更好地進一步了解,使我們深入了解源代碼。
該新項目最重要的庫顯而易見是ILI9341_Driver。 該驅動軟件是依據http://lcdwiki.com網頁頁面中給予的源代碼搭建的。 我只挑選在很多軟件中必須應用較多的一部分,比如撰寫字符串數組,表明圖像和制作標記。 Wiki網頁頁面中的另一個庫是TOUCH庫。 因為對初始庫開展了一些調節,因而從互聯網技術上得到的大部分庫均無 ** 常運作。
要制作標記乃至表明圖像,大家必須該圖像或符號的“字節數二維數組”。 做為表明,為了更好地表明來源于稱之為晶體三極管的手機游戲的圖像,我將該圖像的“字節數二維數組”儲存在名叫transistor.h的資料中。 您可以在下面的連接中尋找此文檔。 隨后,根據在Display文件夾的Display_Picture()函數公式中加上編碼,將圖像中的每一個清晰度制作到LCD。
void Display_Picture()
上邊的實例僅用以表明黑與白圖像。 為了更好地表明五顏六色圖像,大家必須各有不同。 最先,請瀏覽該網站以轉化成五顏六色圖像列陣。 謹記將規格更改成320×240并挑選65K色調選擇項。 由于如今每一個清晰度占有2個字節數,因此大家需要一次推送2個字節數。 您可以查驗Display文件夾中的Display_Color_Picture()函數公式。
void Display_Color_Picture()
對于觸摸屏作用,其工作方式是顯示屏將回到您在顯示屏幕上觸碰的部位的x或y座標的ADC值。 我給予的編碼是生產商帶來的源代碼的簡潔明了版本號,您可以將其視作觸摸顯示屏作用的極為簡易的版本號。 因而,反應時間十分長。 可是針對不用應用觸控筆制圖的簡易應用軟件,我覺得這非常好用。 您只要在顯示屏幕上按住充足長的時間,直到它更改成別的合理布局就可以。