static void lcd_fb_flush(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p)
{
uint32_t x;
uint32_t y;
uint32_t location = 0;
uint32_t tick;
lv_color_t *fbp = (lv_color_t *)info.framebuffer;
//LOG_D("flush x1=%d, x2=%d, y1=%d, y2=%d", area->x1, area->x2, area->y1, area->y2);
tick = rt_tick_get();
for (y = area->y1; y <= area->y2; y++)
{
for (x = area->x1; x <= area->x2; x++)
{
location = x + y * info.width;
fbp[location].full = color_p->full;
color_p++;
}
}
//LOG_D("interval=%d,width=%d,height=%d",rt_tick_get()-tick, area->x2 - area->x1 +1 , area->y2-area->y1+1);
lv_disp_flush_ready(disp_drv);
}
f1c100s裸奔跑lvgl,20帧cpu占用接近50%,刷屏能否用dma实现?但是看这个填充函数不是连续的内存,怎么用dma实现呢
离线
RGB接口
离线