本帖最后由 1812090658@qq.com 于 2018-3-25 22:39 编辑
硬件平台:正点原子阿波罗F429开发板,驱动800*480RGB屏,需要显示两张bmp图片,参考综合测试实验修改代码如下
//在指定位置画点.
//x,y:坐标
//color:颜 {MOD}.
void slcd_draw_point(u16 x,u16 y,u16 color)
{
sramlcdbuf[(800*y+x)] = color;
}
void slcd_draw_point_1(u16 x,u16 y,u16 color)
{
sramlcdbuf1[(800*y+x)] = color;
}
sramlcdbuf = gui_memex_malloc(480*800); //申请1帧缓存大小
sramlcdbuf_1 = gui_memex_malloc(800*480);
pic_phy.draw_point = (void(*)(u16,u16,u32))slcd_draw_point;
ai_load_picfile("0:/PICTURE/1.bmp",0,0,lcddev.width,lcddev.height,1);//写入内存
pic_phy.draw_point=LCD_Fast_DrawPoint;
pic_phy.draw_point = (void(*)(u16,u16,u32))slcd_draw_point_1;
ai_load_picfile("0:/PICTURE/2.bmp",0,0,lcddev.width,lcddev.height,1);//写入内存
pic_phy.draw_point=LCD_Fast_DrawPoint;
LTDC_Color_Fill(0,0,799,479,sramlcdbuf);//显示该图片是出现问题,上半屏为2.bmp的下部分,下半屏为1.bmp的下半部分
LTDC_Color_Fill(0,0,799,479,sramlcdbuf_1);//该图片正确显示
不知大家是否也会出现该现象,是什么原因呢?内存申请的问题?还是显示问题?如果想开机多缓存几张图片,后期便于快速刷新,该如何处理呢?谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>