初级会员

- 积分
- 192
- 金钱
- 192
- 注册时间
- 2016-9-28
- 在线时间
- 40 小时
|
1金钱
如题stm32H7摄像头实验物体移动是时候会出现类似断层的现象,是因为按行显示的原因吗?还有代码中的数组定义写的是一头雾水啊
#define jpeg_buf_size 30*1024*1024 //定义JPEG数据缓存jpeg_buf的大小(1*4M字节)
#define jpeg_line_size 2*1024 //定义DMA接收数据时,一行数据的最大值
u32 dcmi_line_buf[2][jpeg_line_size]; //RGB屏时,摄像头采用一行一行读取,定义行缓存
u32 jpeg_data_buf[jpeg_buf_size] __attribute__((at(0XC0000000+1280*800*2)));//JPEG数据缓存buf,定义在LCD帧缓存之后
这个1*4M字节是怎么算出来的,不应该是30*1M*4=120M吗?还有dcmi_line_buf是u32的,jpeg_line_size是一行的数据,为什么还要*2呢
@正点原子
|
最佳答案
查看完整内容[请看2#楼]
是按行显示的,30*1024*1024,是搞错了,应该是4*1024*1024才对。 一行数据这里可以不乘以2,但是一般要是1024的2倍,也就是2048字节,一个像素2个字节。但是实际我们使用的是u32,所以这里*2,不*2,都是可以的。越大一次读取的数据越多。
|