DCMI的DMA函数DMA_SetCurrDataCounter

2019-07-21 01:25发布

参考探索者板子上的摄像头试验做的修改

外挂了一个和探索者板子同型号的1M字节的外部SRAM
将摄像头的数据开在外部SRAM中

问题出在jpeg_buf_size上

#define jpeg_buf_size 31*1024   
__align(4) u32 jpeg_buf[jpeg_buf_size];

我为了输出640*480的RGB565图片将这里的jpeg_buf_size修改为160*1024
这样就导致了程序中调用这个函数
DMA_SetCurrDataCounter(DMA2_Stream1,jpeg_buf_size )
时出现了整形转换的警告

这是因为
void DMA_SetCurrDataCounter(DMA_Stream_TypeDef* DMAy_Streamx, uint16_t Counter)
第二个参数Counter是16位的,这样就使得jpeg_buf_size 要小于65535

我尝试将Counter这个参数修改为32位的,但不能正常传输,估计这个参数和DMA的底层机制有关联。

请教大家我要怎么处理这种情况?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。