初级会员

- 积分
- 59
- 金钱
- 59
- 注册时间
- 2016-6-15
- 在线时间
- 12 小时
|
1金钱
我现在找到的所有例程上用的都是下面这句话存放图像缓存:
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之类。但是我尝试后发现程序就不能用了。求解。。。
|
最佳答案
查看完整内容[请看2#楼]
改这个:1,要保证你的内存空间够大(至少可以容下一张图片)。
2,这个内存区域访问速度要快,否则会出现数据丢失。
最后,DMA要设置为目标地址自增,且帧中断里面,必须重新设置DMA目标地址。
|