用的是STM32F407 ,通过DCMI接口接OV9655的摄像头,想通过FSMC显示到LCD中。
单独的LCD驱动是可以的,能画图,但是已启动DCMI和DMA,LCD屏幕就黑了,有一闪一闪的。
没有显示图像。通过Debug查看DCMI的数据地址和目标地址是有数据变化的。
很纳闷,大家觉得问题可能出在哪呢?
关于DMA的几个配置也很疑惑。
看DMA_BufferSize 有的代码设的是1,也有是320的。
DMA_MemoryInc也有设递增或不变的。
求大神帮吗?
[mw_shl_code=c,true] DMA_InitStructure.DMA_PeripheralBaseAddr = DCMI_DR_ADDRESS; //DCMI Data Register
//DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)&DCMI->DR; //DCMI Data Register
DMA_InitStructure.DMA_Memory0BaseAddr = LCD_DATA_ADDRESS; //DCMI_DMA_ADDRESS or LCD_DATA_ADDRESS
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
// DMA_InitStructure.DMA_BufferSize = 1; //BMP_QVGA
DMA_InitStructure.DMA_BufferSize = 1;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; //???è·?????
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
//DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; //?????÷????
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
// DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;//
DMA_InitStructure.DMA_MemoryDataSize =DMA_MemoryDataSize_Word;
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; //DMA_Mode_Circular;[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
谢谢,我已经解决问题了,是FSMC建立时间没有配置好。
一周热门 更多>