[IDE] FireBeetle 2 ESP32 P4 开发板以SPI方式驱动TFT显示屏

[复制链接]
467|0
Lily李 发表于 2025-9-29 17:52 | 显示全部楼层 |阅读模式
本帖最后由 Lily李 于 2025-9-29 17:54 编辑

申请原创

前面介绍了以模拟的方式驱动TFT显示屏,这次再介绍以SPI方式来驱动TFT显示屏。
显示屏仍以P1接口为主来进行连接,见图1所示。
相对于OLED屏来讲,TFT屏的表现力会更强些, 要以SPI方式在FireBeetle 2 ESP32 P4 开发板上驱动TFT显示屏,可以P1接口为主来进行连接,该接口见图1所示。
7660368da569776585.png
1 P1接口


TFT屏与开发板的连接关系为:
TFT_CS----GPIO49
TFT_RS----GPIO50
TFT_DC----GPIO52
TFT_MOSI----GPIO29
TFT_SCLK----GPIO28
TFT_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 );


相应的设置函数为:
  1. void setup (  ) {
  2.     randomSeed ( analogRead ( 0 ) );
  3.     myGLCD.InitLCD ();
  4.     myGLCD.setFont ( SmallFont );
  5. }

实现相应显示效果的循环处理函数为:
  1. void loop (  ) {
  2.     int buf[318];
  3.     int x, x2;
  4.     int y, y2;
  5.     int r;
  6.     myGLCD.clrScr (  );
  7.     myGLCD.setColor ( 255, 0, 0 );
  8.     myGLCD.fillRect ( 0, 0, 319, 13 );
  9.     myGLCD.setColor ( 64, 64, 64 );
  10.     myGLCD.fillRect ( 0, 226, 319, 239 );
  11.     myGLCD.setColor ( 255, 255, 255 );
  12.     myGLCD.setBackColor ( 255, 0, 0 );
  13.     myGLCD.print ( String("* Universal Color TFT Display Library *"), CENTER, 1 );
  14.     myGLCD.setBackColor ( 64, 64, 64 );
  15.     myGLCD.setColor ( 255, 255, 0 );
  16.     myGLCD.print ( String("<http://www.RinkyDinkElectronics.com/>"), CENTER, 227 );
  17.    ...
  18. }

经程序上传,其测试效果如图2至图5所示。
4432368da56a7e7960.png
图2 波形效果

157468da56b3c03f5.png
图3 曲线效果

3060968da56cde0b40.png
图4 波形曲线

7928268da56d8ac72a.png
图5 绘制矩形

本人觉得使用Arduino IDE 依然能开发出不俗的显示效果,其作用不可小觑!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部