STM32F407+OV9655+ILI9481显示求助

2019-07-20 14:58发布

用的是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]

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
bufans
1楼-- · 2019-07-20 19:23
回复【4楼】正点原子:
---------------------------------
谢谢,我已经解决问题了,是FSMC建立时间没有配置好。
正点原子
2楼-- · 2019-07-20 20:44
 精彩回答 2  元偷偷看……
bufans
3楼-- · 2019-07-21 01:17
回复【2楼】正点原子:
---------------------------------
请教原子哥:是不是需要在DCMI加中断函数,frame 中断的时候set_ursor(0,0)? cmd = 0x2c?
正点原子
4楼-- · 2019-07-21 05:17
回复【3楼】bufans:
---------------------------------
不一定要.看你自己的需求.
傻子才悲伤
5楼-- · 2019-07-21 07:38
 精彩回答 2  元偷偷看……
lansing1648
6楼-- · 2019-07-21 10:58
回复【3楼】bufans:
---------------------------------
图像会不会闪烁?1秒大概有多少帧?

一周热门 更多>