在ESP32上学习lvgl,遇到了一个问题困扰了很久,目前已解决,现在把这个坑跟大家分享一下,希望能帮助到大家~
手里有一块GC9A01的非触摸原屏,在学习lvgl的时候,想要实现动画效果如切屏,按钮操作,但是手头又没有按键,于是考虑使用串口进行事件发送,从而进行控制。在实际使用中发现,时间可以发送接收,但是切换动画不进行,即图像仅显示1帧。
废话不多说上代码
#include <Arduino.h>
#include <lvgl.h>
#include <TFT_eSPI.h>
static lv_disp_draw_buf_t draw_buf; //定义显示器变量
static lv_color_t buf[TFT_WIDTH * 10]; //定义刷新缓存
TFT_eSPI tft = TFT_eSPI();
/* Display flushing */
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
{
uint32_t w = (area->x2 - area->x1 + 1);
uint32_t h = (area->y2 - area->y1 + 1);
tft.startWrite();