幺幺八点六の记事本 - 2022年10月28日
type: channel
link: https://www.gugugu625.cn/index.php/2022/10/28/
description: 625的记录本
items: ESP32 16bit并口显示屏开发板软件驱动

ESP32 16bit并口显示屏开发板软件驱动
type: item
date: 2022-10-28T16:13:00+08:00
description: Arduino_GFX介绍链接:Arduino_GFX安装方法打开Arduino库管理器，搜索Arduino GFX，找到下图所示库，安装即可。用法Arduino_GFX支持多种显示屏接口，详情可查看GitHub：数据总线，显示屏芯片其中，ESP32 16BIT并口，ILI9488芯片代码如下：Arduino_DataBus *bus = new Arduino_ESP32PAR16( 41/* DC */,40 /* CS */, 16 /* WR */, 17 /* RD */, 0 /* D0 */, 1 /* D1 */, 2 /* D2 */, 3 /* D3 */, 4 /* D4 */, 5 /* D5 */, 6 /* D6 */, 7 /* D7 */, 8 /* D8 */, 9 /* D9 */, 10 /* D10 */, 11 /* D11 */, 12 /* D12 */, 13 /* D13 */, 14 /* D14 */, 15 /* D15 */); Arduino_GFX *gfx = new Arduino_ILI9488( bus, 18 /* RST */, 0 /* rotation */, false /* IPS */);上述引脚适用于oshwhub开源的lvgl开发板。其他板子请根据自身情况更改将相关代码替换示例中的对应代码，即可运行示例踩坑根据官方wiki，使用Arduino_ESP32LCD16这个函数驱动ILI9488屏幕时，会出现显示异常，替换为Arduino_ESP32PAR16即可。XPT2046相关Arduino搜索XPT2046，下载如下库文件：示例代码:#include <XPT2046_Touchscreen.h> #include <SPI.h> #define CS_PIN 42 //XPT2046_Touchscreen ts(CS_PIN); #define TIRQ_PIN 255 //XPT2046_Touchscreen ts(CS_PIN); // Param 2 - NULL - No interrupts //XPT2046_Touchscreen ts(CS_PIN, 255); // Param 2 - 255 - No interrupts XPT2046_Touchscreen ts(CS_PIN, TIRQ_PIN); void setup() { Serial.begin(38400); SPI.begin(39, 37, 38, 42); ts.begin(); ts.setRotation(1); while (!Serial && (millis() <= 1000)); } void loop() { if (ts.touched()) { TS_Point p = ts.getPoint(); Serial.print("Pressure = "); Serial.print(p.z); Serial.print(", x = "); Serial.print(p.x); Serial.print(", y = "); Serial.print(p.y); delay(30); Serial.println(); } } 在官方的库文件示例下作了一些改动，以便能够更改SPI相关引脚