中级会员
- 积分
- 307
- 金钱
- 307
- 注册时间
- 2012-5-3
- 在线时间
- 60 小时
|
发表于 2021-1-1 19:21:58
|
显示全部楼层
参考了楼主的例程,移植成功,感谢楼主,感谢原子哥
移植的过程中有3个地方出了错
1,不能显示,问题出在需要显示的东西居然放在了在LVGL初始化之前,没有初始化当然没有显示
2,编译出错,提示RAM空间不够,lv_port_disp.c文件的缓存空间设置太小了,发现V7版本吃RAM很厉害,需要外置的RAM
3,显示不正常,lv_port_disp.c文件里面的static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)函数里面的
LCD_Color_Fill(area->x1,area->y1,area->x2,area->y2,(u16*)color_p);有问题
void LCD_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color)
{
u16 height,width;
u16 i,j;
width=ex-sx+1; //得到填充的宽度
height=ey-sy+1; //高度
for(i=0;i<height;i++)
{
LCD_SetCursor(sx,sy+i); //设置光标位置
LCD_WriteRAM_Prepare(); //开始写入GRAM
for(j=0;j<width;j++)LCD->LCD_RAM=color[i*width+j];//写入数据
}
}
问题在“LCD->LCD_RAM=color[i*width+j];//写入数据 “的width,之前原子的程序是heigh,这里改为width就可以显示正常了
|
|