FireBeetle 2 ESP32 P4 开发板以SPI方式驱动TFT显示屏
本帖最后由 Lily李 于 2025-9-29 17:54 编辑申请原创
前面介绍了以模拟的方式驱动TFT显示屏,这次再介绍以SPI方式来驱动TFT显示屏。显示屏仍以P1接口为主来进行连接,见图1所示。相对于OLED屏来讲,TFT屏的表现力会更强些, 要以SPI方式在FireBeetle 2 ESP32 P4 开发板上驱动TFT显示屏,可以P1接口为主来进行连接,该接口见图1所示。
图1 P1接口
TFT屏与开发板的连接关系为:TFT_CS----GPIO49TFT_RS----GPIO50TFT_DC----GPIO52TFT_MOSI----GPIO29TFT_SCLK----GPIO28TFT_BL----GND
为使用SPI来驱动TFT显示屏,在ArduinoIDE的开发环境下要预先下载UTFT库,并放置到适当位置,否则会影响调用。为进行显示,其初始的准备条件为:#include <UTFT.h>#include <SPI.h> extern uint8_t SmallFont[];UTFT myGLCD ( ILI9341_S5P, 29, 28, 49,50,52 );
相应的设置函数为:void setup () {
randomSeed ( analogRead ( 0 ) );
myGLCD.InitLCD ();
myGLCD.setFont ( SmallFont );
}
实现相应显示效果的循环处理函数为:void loop () {
int buf;
int x, x2;
int y, y2;
int r;
myGLCD.clrScr ();
myGLCD.setColor ( 255, 0, 0 );
myGLCD.fillRect ( 0, 0, 319, 13 );
myGLCD.setColor ( 64, 64, 64 );
myGLCD.fillRect ( 0, 226, 319, 239 );
myGLCD.setColor ( 255, 255, 255 );
myGLCD.setBackColor ( 255, 0, 0 );
myGLCD.print ( String("* Universal Color TFT Display Library *"), CENTER, 1 );
myGLCD.setBackColor ( 64, 64, 64 );
myGLCD.setColor ( 255, 255, 0 );
myGLCD.print ( String("<http://www.RinkyDinkElectronics.com/>"), CENTER, 227 );
...
}
经程序上传,其测试效果如图2至图5所示。
图2 波形效果
图3 曲线效果
图4 波形曲线
图5 绘制矩形
本人觉得使用Arduino IDE 依然能开发出不俗的显示效果,其作用不可小觑!
页:
[1]