我现在找到的所有例程上用的都是下面这句话存放图像缓存:
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之类。但是我尝试后发现程序就不能用了。求解。。。
这个是库函数版本代码
不知道你用的是库函数还是寄存器编写的代码,得保持一致才可以,不能颠倒用。
想要储存到其他地方,可以定义个数组,把该数组的地址替换 (u32)&LCD->LCD_RAM 即可。
一周热门 更多>