最近經理通知要做項目了,讓我選型一個LCD開始試著做下。這是我用仿真實現的一個smt32的硬件SPI1來驅動的ST7735R,難度挺小的,因為大部分的代碼LCD的廠商已經給我們提供了,我們主要修改成硬件SPI來驅動就好了。 此次仿真上面有2個問題,不知道是代碼的問題還是仿真圖上的問題。第一個問題是仿真運行時有時會出通信數據傳輸問題,導致指令越界報警,這個可能是SPI不穩定導致的;第二個問題是在改用SPI2或者SPI3來驅動沒有任何反應,猜測是代碼時鐘沒開對或者仿真圖上面還要加上具體晶振。 代碼工程和仿真工程都已壓縮打包,可放心下載。。。先貼上仿真實現圖: 再貼上部分代碼:/**ST7735驅動**/#include "ST7735.h"#include "usart.h" u16 BACK_COLOR, POINT_COLOR; //背景色,畫筆色 void WriteCommand_7735(u8 CmdData) //寫指令{SPI_LCD_CS_LOW; //片選SPI_LCD_COMMAND_W;//寫指令SPI_I2S_SendData(LCD_SPIx,CmdData);while (SPI_I2S_GetFlagStatus(LCD_SPIx, SPI_I2S_FLAG_TXE) == RESET){}SPI_LCD_CS_HIGH;} void WriteDate_7735(u8 Data) //寫8位數據{SPI_LCD_CS_LOW; //片選SPI_LCD_DATA_W;//寫數據SPI_I2S_SendData(LCD_SPIx,Data);while(SPI_I2S_GetFlagStatus(LCD_SPIx, SPI_I2S_FLAG_TXE) == RESET){} SPI_LCD_CS_HIGH; } void WriteDate16(int data) //寫16位數據{WriteDate_7735(data>>8);WriteDate_7735(data);} 字符限制了,貼不了多少,2積分即可下載。。。
標簽:
stm32
硬件
spi
驅動
tft
lcd
proteus
上傳時間:
2022-04-12
上傳用戶: