烦恼啊 !
DMA_InitStructure.DMA_BufferSize 最大才65536个数据项数目,做320*240的分辨率设置成:
DMA_InitStructure.DMA_BufferSize = 320*240/2;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
这样功能正常,正常摄像。但是想到改成640*480分辨率我就头大了 ,640*480/2 > 65536,设置不了这么大 如果我设置DCMI中断,再设置
DMA_InitStructure.DMA_BufferSize = 320*240/2; 这样就只能得到1/4的数据 再DCMI中断重设DMA ,结果DCMI是一帧中断的, 设的4个DMABUFF得到的不是同一帧数据,于是我换成DMA中断,更改如下:
DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
DMA_NVIC_Config();
DMA_ITConfig(DMA2_Stream1,DMA_IT_TC,ENABLE);
DMA_Cmd(DMA2_Stream1,ENABLE);
//拷贝自神舟
开发板例程 结果相机就没有数据输出 唉 !我的天
STM32F4 有没有弄出480*640的分辨率的相机的大师 给个代码让我瞧瞧是用了什么办法
我好像在哪里看到过你写的帖子,我用DMA 中断四次 果然不行 传输出来不是同一帧的 。。。。我有几个问题: 1. 中断次数不需要设定,设置好DMA_Buffersize它就会中断480*2次。
2. 摄像头的DMA传输长度,也是指DMA_Buffersize吧?
3. DMA_Buffersize我如果不设置为1,我设置一次传320*240*2,那么会不会因为中断程序时间长了,导致DMA数据丢失
一周热门 更多>