Skip to content

升级到v2版本屏幕无法驱动,一直显示白屏 #1282

@Good0007

Description

@Good0007

1. 老版本正常驱动的配置:

#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_15
#define DISPLAY_MOSI_PIN      GPIO_NUM_18
#define DISPLAY_CLK_PIN       GPIO_NUM_8
#define DISPLAY_DC_PIN        GPIO_NUM_16
#define DISPLAY_RST_PIN       GPIO_NUM_17
#define DISPLAY_CS_PIN        GPIO_NUM_2


#ifdef CONFIG_LCD_ST7789_240X240_7PIN
#define LCD_TYPE_ST7789_SERIAL
#define DISPLAY_WIDTH   240
#define DISPLAY_HEIGHT  240
#define DISPLAY_MIRROR_X false
#define DISPLAY_MIRROR_Y false
#define DISPLAY_SWAP_XY false
#define DISPLAY_INVERT_COLOR  true
#define DISPLAY_RGB_ORDER  LCD_RGB_ELEMENT_ORDER_RGB
#define DISPLAY_OFFSET_X  0
#define DISPLAY_OFFSET_Y  0
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
#define DISPLAY_SPI_MODE 3
#endif

2. 新版本升级后,同样配置编译通过,配网聊天等功能正常,屏幕一直白屏:

  • 调试日志如下:
    I (195) main_task: Calling app_main()
    I (215) Board: UUID=8ebf087c-f6db-4033-af39-d054ba5681ba SKU=amour-k08
    I (215) gpio: GPIO[0]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
    I (225) button: IoT Button Version: 4.1.4
    I (225) gpio: GPIO[9]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
    I (235) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
    I (245) gpio: GPIO[14]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
    I (255) gpio: GPIO[16]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
    I (265) gpio: GPIO[17]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
    I (385) Display: Power management not supported
    I (435) LcdDisplay: Turning display on
    I (435) LcdDisplay: Initialize LVGL library
    I (435) LcdDisplay: Use 2MB of PSRAM for image cache
    I (435) LcdDisplay: Initialize LVGL port
    I (435) LcdDisplay: Adding LCD display
    I (435) LVGL: Starting LVGL task
    I (445) gpio: GPIO[18]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
    I (455) MCP: Add tool: self.lamp.get_state
    I (455) MCP: Add tool: self.lamp.turn_on
    I (455) MCP: Add tool: self.lamp.turn_off
    I (465) Backlight: Set brightness to 50
    I (465) Application: STATE: starting
    I (475) NoAudioCodec: Simplex channels created
    I (475) AudioCodec: Set input enable to true
    I (475) AudioCodec: Set output enable to true
    I (485) AudioCodec: Audio codec started
    I (485) pp: pp rom version: e7ae62f
    I (485) net80211: net80211 rom version: e7ae62f
    I (505) wifi:wifi driver task: 3fcba9b0, prio:23, stack:6144, core=0

  • 追踪代码到 SpiLcdDisplay 初始化里:

// draw white
    std::vector<uint16_t> buffer(width_, 0xFFFF);
    for (int y = 0; y < height_; y++) {
        esp_lcd_panel_draw_bitmap(panel_, 0, y, width_, y + 1, buffer.data());
    }

更改0xFFFF颜色后屏幕有颜色变化,后续 SetupUI(); 初始化的ui都没有显示到屏幕上。通过按键调试修改屏幕亮度也都能正常,问题应该出现在LVGL推送数据到屏幕这块

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions