esp32 IDF移植lvgl_v9.4.0(st7789)颜色显示异常与偏移解决方案
·
颜色错误
使用组件esp_lvgl_port里面的示例下载后:本来是红色的乐鑫logo实际显示的是一个黄色的图标,红色的text也是黄色的。

修改RGB颜色顺序
将LCD_RGB_ENDIAN_RGB为LCD_RGB_ENDIAN_RGB,解决RGB显示顺序错乱。
const esp_lcd_panel_dev_config_t panel_config = {
.reset_gpio_num = EXAMPLE_LCD_GPIO_RST,
#if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(6, 0, 0)
.rgb_endian = LCD_RGB_ENDIAN_RGB,
#else
.rgb_ele_order = LCD_RGB_ELEMENT_ORDER_BGR,
#endif
.bits_per_pixel = EXAMPLE_LCD_BITS_PER_PIXEL,
};
.rgb_endian = LCD_RGB_ENDIAN_RGB,
设置颜色反转
esp_lcd_panel_invert_color(lcd_panel, true);

显示不全和花屏
修改X轴显示偏移
/*这里的偏移量(例如34)需要根据你的屏幕分辨率和驱动芯片支持的最大逻辑分辨率来计算。
一个常见的计算公式是:x_gap = (驱动芯片原生水平分辨率 - 屏幕实际可见宽度) / 2。
例如,对于一块实际宽度为172像素、但驱动芯片(ST7789)原生支持240像素的屏幕,
其x_gap就是(240 - 172) / 2 = 34。
*/
esp_lcd_panel_set_gap(lcd_panel, 34, 0);

更多推荐



所有评论(0)