论坛» 嵌入式开发» 国产MCU

用ESP8266测试I2C接口的TFT

专家
2024-03-10 21:36 1楼

买了很久的1.8寸的TFT液晶,只测试过STM32F103下的显示。今天抽空测试ESP8266下的显示。因为有现成的支持库,所以不用自己写驱动程序了。支持库为tft_espi,可以查找并安装。

图片1.png然后要修改一个文件设置,文件在你的Arduino库所在的文件夹下,可以通过菜单中的“文件”=>“首选项”找到项目文件夹的位置

图片2.png在这个文件夹下的库的文件夹名字为“libraries”,找到tft_espi子文件夹下的User_Setup.h文件,修改器中默认的驱动型号和屏幕宽高,如下图所示,

图片3.png修改默认驱动为ST7735(我的这个液晶的驱动器型号)

图片4.png修改屏幕分辨率

图片5.png最后要根据你的液晶连接情况,确定是否要注释掉RESET所在的设置

图片6.png这个文件改完了,就可以进行测试了。连接好ESP8266,找到tft_espi提供的测试程序“TFT_Print_Test”,编译、下载,看看执行结果如何。

为了方便,我直接把代码站过来,供参考。

/* 接线方式: TFT液晶 ESP8266 ------------------------------------- GND VCC 3.3V SCL D5 SDA D7 RST D4 DC D3 CS D8 BLK 3.3V */ #include  #include  // 初始化对象,使用的液晶驱动型号、屏幕宽度、高度参见库中User_Setup.h中的定义 // //#define ILI9341_DRIVER 要注释掉这个驱动,换成ST7735的 // #define ST7735_DRIVER // TFT_WIDTH = 128 // define TFT_HEIGHT=160 // RST脚接3.3V时,<#define TFT_RST -1>要被注释掉 TFT_eSPI tft = TFT_eSPI(); // Invoke library, pins defined in User_Setup.h // 定义新颜色 #define TFT_GREY 0x5AEB void setup(void) { tft.init(); tft.setRotation(1); } void loop() { // 设置背景色 tft.fillScreen(TFT_GREY); // 设置光标位置(0,0),字体2 tft.setCursor(0, 0, 2); // 设置文字色及背景色 tft.setTextColor(TFT_WHITE,TFT_BLACK); // 设置文字尺寸 tft.setTextSize(1); // 输出文字 tft.println("Hello World!"); // 设置文字色 tft.setTextColor(TFT_YELLOW); // 设置文字尺寸 tft.setTextFont(2); tft.println(1234.56); // 设置文字色及背景色, 设置文字尺寸 tft.setTextColor(TFT_RED,TFT_BLACK); tft.setTextFont(4); tft.println((long)3735928559, HEX); // Should print DEADBEEF // 设置文字色及背景色, 设置文字尺寸 tft.setTextColor(TFT_GREEN,TFT_BLACK); tft.setTextFont(2); tft.println("Groop"); float fnumber = 123.45; // 设置文字色, 设置文字尺寸 tft.setTextColor(TFT_BLUE); tft.setTextFont(2); tft.print("Float = "); tft.println(fnumber); tft.print("Binary = "); // 二进制方式输出数字 tft.println((int)fnumber, BIN); tft.print("Hexadecimal = "); // 十六进制输出数字 tft.println((int)fnumber, HEX); // We must yield() to stop a watchdog timeout. while(1) yield(); }

微信图片_20240310213249.jpg

院士
2024-03-10 22:52 2楼

这个接口的速率下,只能是静态显示吧?

高工
2024-03-10 22:58 3楼

我就是认为使用arduino不是嵌入式开发,也就是一个实验而已

专家
2024-03-11 08:36 4楼

可以动态显示啊。比如动态显示时钟时间

专家
2024-03-11 08:38 5楼

我觉得arduino开发也算是嵌入式吧。只不过因为有支持库,编程更加快速方便而已。

共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]