问题描述

1、屏幕正常点亮,不使用图形库时,也能正常显示
2、使用lvgl图形库时,出现显示内容模糊,花屏的情况。
3、ui界面锯齿状,不清晰。
显示内容不正确
理想显示效果
正确显示效果

问题原因

1、由于不同芯片、不同平台的问题,在lvgl图形库调用芯片的spi dma数据发送接口时,采用的大小端序不一样,所以会出现颜色错误。

修复问题

  1. 尝试在lvgl库中,在lv_conf.h中,修改#define LV_COLOR_16_SWAP宏定义。(我失败了)
  2. 通过修改st7789 驱动的代码

在st7789的文档中,可以找到关于大小端的配置寄存器 ENDIAN
在这里插入图片描述
在这里插入图片描述
通过在st7789的驱动代码中,修改上述的寄存器,即可切换大小端序,尝试修复屏幕显示错误问题。

更新!!

在使用esp32c3时,基于idf框架下,出现同样的,ui界面的元素边缘出现锯齿,不平滑,颜色错误的情况,可以使用一下方法修改
在这里插入图片描述
通过直接写寄存器的方式,将设置命令写到st7789的寄存器中

// LCD 初始化命令序列
    typedef struct {
        uint8_t cmd;
        uint8_t data[15];
        uint8_t len;
    } lcd_cmd_t;

    lcd_cmd_t custom_lcd_init_cmds = {0xB0, {0x00, 0x18}, 2};
    // lcd_cmd_t custom_lcd_init_cmds = {0xB0, {0x00, 0x10}, 2};

    esp_lcd_panel_io_tx_param(io_handle, custom_lcd_init_cmds.cmd, custom_lcd_init_cmds.data, custom_lcd_init_cmds.len & 0x7f);

有问题欢迎联系:oulihong1999@qq.com

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐