让我们点进去看看LCD_Color_Fill这个函数干了什么: 我们追溯到LTDC_Color_Fill函数,可以看出这个函数主要是在向LCD屏幕传输数据。我选择的是竖屏,会执行else里的语句,进行了坐标系转换。但是DMA2D仍然是按照横屏的方向进行数据传输的。 我们抛弃LCD_Color_Fill的方式填充屏幕,使用最原始的画点方式: 烧录检测: OK噜(...
voidLCD_LVGL_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,lv_color_t*color){uint32_t y=0;u16 height,width;width=ex-sx+1;//得到填充的宽度height=ey-sy+1;//高度LCD_Address_Set(sx,sy,ex,ey);for(y=0;y<width*height;y++){LCD_WR_DATA(color->full);color++;}} 然后在LVGL的 disp_flu...
修改disp_flush 函数。这个得阅读 屏幕驱动函数了,就是找 在一个矩形空间填充彩色像素能用哪个函数,或者用绘制一个彩色点的函数一个个像素点绘制(会比较慢)。 其中px_map 是指向像素数据的指针,目前我的理解是传入 屏幕驱动函数 如 LCD_Color_Fill 时,px_map 被强制转换成相应的类型,如本例的 (u16* ) , ...
首先在其头部引入头文件 #include"lcd.h" 在disp_init函数中写入LCD_Init();进行相关的初始化。 LCD_ColorFill(area->x1,area->y1,area->x2+1,area->y2+1,(uint16_t*)color_p); 因为正点原子官方历程有一点问题这个函数就是自己重写的函数 void LCD_ColorFill(uint16_t xsta, uint16_t ysta, ui...
lcd.LCD_Color_Fill(act_x1,act_y1,act_x2,act_y2,(unsigned short *)color_p); /*IMPORTANT!!! *Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); } 1. 2. 3. 4. 5. 6. 7. ...
这一点之前移植的时候也提过(《【LVGL】学习笔记--(1)Keil中嵌入式系统移植LVGL》),在disp_flush中用封装好的LCD_Fill_LVGL刷屏函数替代原先默认的画点函数。 【2】LVGL帧率限制 LVGL是有一个帧率刷新周期的宏定义,在lv_conf.h里。LVGL会通过LVGL内部的tick,定时去刷屏幕,也就是说该宏定义限定了LVGL刷屏帧率...
lcd_fill(0,0,GLCD_WIDTH-1,GLCD_HEIGHT-1,GLCD_COLOR_BLUE); Delay_ms(500); printf("hello world.rn"); lv_init(); lv_hal_init(); main主循环调用 while (1) { lv_task_handler(); } 下面定时1ms调用lv_tick_inc(1); volatile uint32_t time_tick_cnt; ...
//disp_drv.gpu_fill_cb = gpu_fill; /*Finally register the driver*/ lv_disp_drv_register(&disp_drv); } 3、修改disp_flush函数 该函数就是调用底层LCD描点函数进行绘制UI界面的。 // LCD描点函数 void LCD_Color_Fill(u16 sx, u16 sy, u16 ex, u16 ey, u16 *color) ...
LCD_Fill(area->x1, area->y1, area->x2, area->y2, color_p); lv_disp_flush_ready( disp ); } LCD_Fill函数,这种方式为区域填充,也可以多次调用点填充(速度慢,不推荐) /*** *函数名:LCD_Fill *输 入:xsta:x起始 * ysta:y起始 * xend:x结束 * yend:y结束 * color:颜色的指针,指向...
LCD_Color_Fill(area->x1,area->y1,area->x2,area->y2,(u16*)color_p); lv_disp_flush_ready(disp_drv); } #else /*Enable this file at the top*/ /*This dummy typedef exists purely to silence -Wpedantic.*/ typedef int keep_pedantic_happy; ...