STM32F4+OV2640 图像识别缓存RAM

2019-07-20 08:05发布

我现在找到的所有例程上用的都是下面这句话存放图像缓存:
DCMI_DMA_Init((u32)&LCD->LCD_RAM,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);
他是这个函数:
void DCMI_DMA_Init(u32 DMA_Memory0BaseAddr,u16 DMA_BufferSize,u32 DMA_MemoryDataSize,u32 DMA_MemoryInc)
//DCMI DMA配置
//DMA_Memory0BaseAddr:存储器地址  将要存储摄像头数据的内存地址(也可以是外设地址)
//DMA_BufferSize:存储器长度    0~65535
//DMA_MemoryDataSize:存储器位宽   @defgroup DMA_memory_data_size MA_MemoryDataSize_Byte/DMA_MemoryDataSize_HalfWord/DMA_MemoryDataSize_Word
//DMA_MemoryInc:存储器增长方式  @defgroup DMA_memory_incremented_mode  /** @defgroup DMA_memory_incremented_mode : DMA_MemoryInc_Enable/DMA_MemoryInc_Disable

现在遇到的问题是:不能使用(u32)&LCD->LCD_RAM,我希望把它存在其他地方,比如SRAM之类。但是我尝试后发现程序就不能用了。求解。。。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
正点原子
1楼-- · 2019-07-20 12:03
 精彩回答 2  元偷偷看……
wwy521551
2楼-- · 2019-07-20 14:01
一楼手动召唤原子哥
phoenix
3楼-- · 2019-07-20 15:35
DCMI_DMA_Init((u32)&LCD->LCD_RAM,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);

这个是库函数版本代码

不知道你用的是库函数还是寄存器编写的代码,得保持一致才可以,不能颠倒用。

想要储存到其他地方,可以定义个数组,把该数组的地址替换   (u32)&LCD->LCD_RAM   即可。
907566995
4楼-- · 2019-07-20 16:23
 精彩回答 2  元偷偷看……
907566995
5楼-- · 2019-07-20 16:27
对dma的目标地址进行重置是要 整体调用dma的初始化函数还是有 能够只改变dma目标地址的库函数
907566995
6楼-- · 2019-07-20 19:46
 精彩回答 2  元偷偷看……

一周热门 更多>