【ST7789和LVGL图形库】关于在使用st7789芯片的屏幕时,元素边缘不清晰、锯齿状、屏幕显示错误、花屏的的问题
·
问题描述
1、屏幕正常点亮,不使用图形库时,也能正常显示
2、使用lvgl图形库时,出现显示内容模糊,花屏的情况。
3、ui界面锯齿状,不清晰。

理想显示效果

问题原因
1、由于不同芯片、不同平台的问题,在lvgl图形库调用芯片的spi dma数据发送接口时,采用的大小端序不一样,所以会出现颜色错误。
修复问题
- 尝试在lvgl库中,在lv_conf.h中,修改#define LV_COLOR_16_SWAP宏定义。(我失败了)
- 通过修改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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)