本帖最后由 jinglixixi 于 2025-10-25 13:49 编辑
#申请原创#
@21小跑堂
FireBeetle 2 ESP32 P4开发板是一款体型小巧的板子,尽管有一定的程序存储空间,但要想以这副小身板来存放有较大体量的图片数据则是件难于登天的事。 难得的是该开发板配置了TF卡座,见图1所示。
图1 开发板功能分布
如果借助这个TF卡座,来解决存储空间有限的问题,则会突破存储空间的制约,要显示的图片文件只需存放到TF卡中。 在引脚占用方面,TF卡所使用的引脚如图2所示。
图2 引脚占用
那该如何读取图片文件呢? 在通常的开发环境下,对文件进行读写会是一个边界复杂的工作。但在Arduino IDE的开发环境下,这却是一件较为轻松的事情。当然,这是借助库函数的支持。 实现文件读取的程序为: - #include “SD_MMC.h”
- void setup() {
- uint8_t i,ch;
- Serial.begin(115200);
- delay(200);
- Serial.println("begin read sd!");
- if (!SD_MMC.begin())
- {
- Serial.println("The storage card failed to mount.");
- return;
- }
- uint8_t cardType = SD_MMC.cardType();
- if (cardType == CARD_SDHC)
- {
- Serial.println("An SDHC card is mounted.");
- }
- else
- {
- Serial.println("An unknown storage card is mounted.");
- }
- file = SD_MMC.open("/test.txt", FILE_READ);
- if (file)
- {
- while (file.available())
- {
- ch=(char)file.read();
- Serial.print(ch);
- i=i+1;
- }
- }
- file.close();
- delay(10000);
- }
解决了数据的的问题,又该如何解决图像显示问题呢? 方法是以TFT显示屏承担,所使用的引脚连接关系为: TFT_CS----GPIO49 TFT_RS----GPIO50 TFT_DC----GPIO52 TFT_MOSI----GPIO29 TFT_SCLK----GPIO28 TFT_BL----GPIO51
为便于完成TFT屏的显示驱动,这里采用的是软件模拟的方式。 引脚的配置函数为:
显示屏的软件复位函数为:
模拟SPI方式发送字节数据的函数为:
实现TFT显示屏初始化的函数为:
|