OV5640的例程的疑问

2019-07-20 12:58发布

正点哥里面给的例程   DCMI_DMA_Init((u32)dcmi_line_buf[0],(u32)dcmi_line_buf[1],lcddev.width/2,DMA_MDATAALIGN_HALFWORD,DMA_MINC_ENABLE);

这句话就是开启DMA双缓冲,每个数组存有lcddev.width/2个像素点【假设一行有lcddev.width个像素点,一共两个数组,每个数组保存一半  这样理解应该没错吧】

但是在DMA中断里面
LTDC_Color_Fill(0,curline,lcddev.width-1,curline,pbuf);//DM2D填充【这里为什么是lcddev.width-1】
if(curline<lcddev.height)curline++;


就是每一次中断他都会把整个行填满,但是我每次进入DMA中断只采集了一般的像素点呀 ,为什么显示屏还能正常显示图像呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。