What do you want to achieve?
What have you tried so far?
I tried modifying the disp_flush function, but it still didn’t work; it only works correctly when displaying solid colors.
Code to reproduce
/*You code here*/
all code in this:GitHub - lsflyh00-maker/at32_lvgl
static void disp_flush(lv_display_t * disp_drv, const lv_area_t * area, uint8_t * px_map)
{
if(disp_flush_enabled) {
/The most simple case (but also the slowest) to put all pixels to the screen one-by-one/
int32_t x;
int32_t y;
for(y = area->y1; y <= area->y2; y++) {
for(x = area->x1; x <= area->x2; x++) {
/*Put a pixel to the display. For example:*/
lcd_draw_point(x,y,*px_map);
/*put_px(x, y, *px_map)*/
px_map++;
}
}
}
Screenshot and/or video
Environment
- MCU/MPU/Board:
- LVGL version: See
lv_version.h
mcu:at32f407avgt7
lvgl:9.1
screen:st7789V2,8bit parallel port
