发布于2021-10-05 23:46 阅读(1158) 评论(0) 点赞(29) 收藏(4)
在平台上面购买了这一种模块,然后这种模块是IPS液晶屏,显示效果会比早期那种好一些。显示屏的控制芯片是ST7789
我准备使用ESP32进行驱动,测试上使用简单的Arduino IDE,那么具体要怎么样让这一屏幕正常的显示?
如果是使用avr的MCU例如Arduino UNO一类可以使用这一个库,GitHub - cbm80amiga/Arduino_ST7789_Fast: Fast SPI library for the ST7789 IPS display
那么这里的话我用的是GitHub - Bodmer/TFT_eSPI: Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips 这一个,TFT_eSPI对几乎所有的常见控制器都进行了支持,所以可以很容易的驱动屏幕,但是必须进行配置
先看一下我的ESP32与这一个屏幕的连接
#01 GND -> GND
#02 VCC -> VCC (3.3V)
#03 SCL -> IO18/SCK
#04 SDA -> IO23/MOSI
#05 RES -> IO4
#06 DC -> IO2
#07 BLK -> 不连
打开TFT_eSPI库文件夹,需要对三个文件进行配置才能正常的使用
1.配置C:\Users\你的用户名\Documents\Arduino\libraries\TFT_eSPI\User_Setups这一目录下的Setup135_ST7789.h
将此处更改为引脚,主要注意的是TFT_DC和TFT_RST可以任意支持输入输出的引脚而MOSI和SCLK不行。这里更改的是自定义引脚的头文件。
这是由ESP32的硬件限定的SPI接口。
2.返回到C:\Users\你的用户名\Documents\Arduino\libraries\TFT_eSPI,更改User_Setup.h这一个文件
主要修改屏幕的分辨率,将原本的注释掉改成如图所示
3.刚刚我们自行定义了一个屏幕引脚和速率的配置文件,需要在C:\Users\你的用户名\Documents\Arduino\libraries\TFT_eSPI文件夹下面的文件User_Setup.h中注释掉默认的头文件
//#include <User_Setup.h>
然后,更替为Setup135_ST7789.h这一个文件,具体就是删掉注释符号,因为下方都有写了
然后正常的编译,就可以实现显示,这里我使用别人的代码作为测试代码,感谢他们的分享
/*
*[Arduino UNO or others]
#01 GND -> GND
#02 VCC -> VCC (3.3V only!)
#03 SCL -> D13/SCK
#04 SDA -> D11/MOSI
#05 RES -> D8 or any digital
#06 DC -> D7 or any digital
#07 BLK -> NC
*/
/*
* [ESP32]
#01 GND -> GND
#02 VCC -> VCC (3.3V only!)
#03 SCL -> IO18/SCK
#04 SDA -> IO23/MOSI
#05 RES -> IO4
#06 DC -> IO2
#07 BLK -> NC
*/
#pragma GCC optimize("O3")
#include <Arduino.h>
#include <TFT_eSPI.h>
#include <Wire.h>
TFT_eSPI TFT = TFT_eSPI();
TFT_eSprite eSprite = TFT_eSprite(&TFT);
void setup() {
TFT.init();
TFT.setRotation(1);
TFT.fillScreen(TFT_BLUE);
TFT.initDMA();
eSprite.setTextFont(1);
eSprite.setTextColor(TFT_WHITE);
eSprite.createSprite(240, 240);
}
void loop() {
eSprite.setTextFont(1);
eSprite.setCursor(20, 20);
eSprite.println("Hello World\n");
eSprite.setCursor(40, 40);
eSprite.println("Hello World\n");
eSprite.pushSprite(0, 0);
delay(1000);
}
最终的效果
下一篇说明TFT_eSPI如何使用
文章参考
ESP32驱动ST7789液晶屏
Connecting and Configuring the ST7789 LCD SPI Display to the ESP32
https://www.youtube.com/watch?v=HoZhgNcJjNA
ESP32彩屏显示入门
ESP32彩屏显示入门:我要五彩斑斓的黑 | ESP32学习之旅-Arduino版 - 知乎
原文链接:https://blog.csdn.net/u012388993/article/details/120605961
作者:悲催的程序员
链接:http://www.phpheidong.com/blog/article/169025/85ccfc57bc3eefacf2ad/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!