摄像头拍照的这个工程中dcmi.c中定义了 void DCMI_DMA_Init(u32 DMA_Memory0BaseAddr,u32 DMA_Memory1BaseAddr,u16 DMA_BufferSize,u32 DMA_MemoryDataSize,u32 DMA_MemoryInc)这里,DCMI_DMA_Init 函数,和第四十章相比增加了一个参数:DMA_Memory1BaseAddr,用于设置 DMA 的第二个内存地址,同时根据该值是否为非 0,来判断是否需要使用双缓冲机 制,只有在双缓冲机制下,才开启 DMA 传输完成中断。
但是主函数调用的格式为 DCMI_DMA_Init((u32)&LCD->LCD_RAM,0,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);//
问题1 :主函数中DMA_Memory1BaseAddr值为0,岂不是没有开启双缓中断吗?
问题2: 主函数对DCMI_DMA_Init中参数的引用和DCMI_DMA_Init定义中的参数不一致,如何解释? |