最近要用F4做图像处理,因为图像太大所以用了双缓冲。程序是根据原子哥的照相机实验改的,就是在保存jpg格式图片的时候仍然让2640输出rgb565格式的数据。
2640和LCD都已经设置到了320x240的分辨率。
拍照以后再把外部SRAM保存的图片数据回送到LCD上,却出现了下面的奇怪情况:
大部分图片上移了一截,只有最下面一条是正常的。
现在我有两个问题:
1.根据我的理解,应该是外部SRAM里320x240x2个字节是我拍下来的图片,目前我也是这样输出的,有错吗?
2.我输出的数据是外部SRAM里最后连续的320x240x2个字节,为什么会出现图片上移而最后一段又是对的这种情况呢?
还望原子哥和各位过路大侠指点啊!!感激不尽!!!
附上外部SRAM送LCD显示的部分代码
[mw_shl_code=c,true]LCD_Clear(WHITE);
//printf("%d",0xff);
LCD_WriteRAM_Prepare();
pbuf=(u16*)jpeg_data_buf;
for(i=0;i<320*240;i++)
{
//printf("%d",pbuf[jpeg_data_len*4-320*240*2+i]);
LCD->LCD_RAM=pbuf[jpeg_data_len*2-320*240+i];
//LCD->LCD_RAM=pbuf
;
}
jpeg_data_ok=0;
// jpeg_data_len=0;
jpeg_data_len=0;[/mw_shl_code]
附图:
拍照前直送LCD的正常画面
拍照后外部SRAM送LCD的奇怪画面
直送LCD正常
SRAM送LCD异常
你保存的时候,无法读取摄像头数据的。
一周热门 更多>