After porting LVGL initialization, horizontal stripes appear on the screen, what is the problem?(LVGL can be used for painting)


The code block(s) should be between ```c and ``` tags:

/*You code here*/
#define LV_HOR_RES_MAX          (240)
#define LV_VER_RES_MAX          (240)
/* Color depth:
 * - 1:  1 byte per pixel
 * - 8:  RGB332
 * - 16: RGB565
 * - 32: ARGB8888
#define LV_COLOR_DEPTH     16

void lv_port_disp_init(void)
        /*A static or global variable to store the buffers*/
    static lv_disp_buf_t disp_buf;

    /*Static or global buffer(s). The second buffer is optional*/
    static lv_color_t buf_1[LV_HOR_RES_MAX * 10]; //
    //static lv_color_t buf_2[LV_HOR_RES_MAX * 10];

    /*Initialize `disp_buf` with the buffer(s) */
    lv_disp_buf_init(&disp_buf, buf_1, NULL, LV_HOR_RES_MAX*10);

    lv_disp_drv_t disp_drv; 

    /*Set the resolution of the display*/
    disp_drv.hor_res = LV_HOR_RES_MAX;
    disp_drv.ver_res = LV_VER_RES_MAX;
    disp_drv.flush_cb = disp_flush;
    disp_drv.buffer = &disp_buf;

void lv_disp_drv_init(lv_disp_drv_t * driver)
    _lv_memset_00(driver, sizeof(lv_disp_drv_t));
    driver->flush_cb         = NULL;
    driver->hor_res          = LV_HOR_RES_MAX;
    driver->ver_res          = LV_VER_RES_MAX;
    driver->buffer           = NULL;
    driver->rotated          = LV_DISP_ROT_NONE;
    driver->sw_rotate        = 0;
    driver->color_chroma_key = LV_COLOR_BLACK; //LV_COLOR_TRANSP //
    driver->dpi = LV_DPI;
    driver->antialiasing = true;
    driver->screen_transp = 1;
    driver->gpu_blend_cb = NULL;
    driver->gpu_fill_cb  = NULL;
    driver->user_data = NULL;
    driver->set_px_cb = NULL;

static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)
## Screenshot and/or video
If possible, add screenshots and/or videos about the current state.

Everything looks fine there but the problem might be in your lcd_color_fill function.
I am assuming you are using an SPI interface for your display, double check everything is wired up and working properly by doing some simple draw function without LVGL first to make sure your LCD driver is working.
Then make sure everything is configured properly in lv_conf.h, is LV_COLOR_DEPTH set to 16?
if you are set to 16 bit maybe it needs the LV_COLOR_16_SWAP set in the lv_conf.h file?

If all that is good then last thing I can think of is something I ran into that was a similar issue with some odd drawing glitches (some extra lines here and there) but it only happened when my LCD driver was set to DMA mode… I had to set the address window to the bottom right corner of the screen after each display flush and that seemed to clean it up.

Thank you for your advice.I’m sorry for the late reply. I have been on a business trip recently.My SPI interface function is working fine.It’s okay to refresh the screen and display images.I am trying to find out the cause of this problem.