STM32F407的DMA+DCMI方式采集OV7620的一些疑惑(DCMI_CR中VSPOL与HSPOL的配置,原子哥的程序似乎不符合参考手册中的解释)?

2019-07-20 12:56发布

位 7 VSPOL:垂直同步极性 (Vertical synchronization polarity)
此位指示数据在并行接口上无效时 VSYNC 引脚的电平。
0:VSYNC 低电平有效
1:VSYNC 高电平有效
位 6 HSPOL:水平同步极性 (Horizontal synchronization polarity)
此位指示数据在并行接口上无效时 HSYNC 引脚的电平。
0:HSYNC 低电平有效
1:HSYNC 高电平有效
以上是407参考手册的解释,由于OV2640与OV7620时序相同,即行有效电平为高(此时数据有效),场有效电平为低。也就是说VSYNC的配置应为1,HSYNC 配置应为0.
原子哥程序中是这样配置的,有些疑惑。

DCMI->CR|=0<<6; //HSYNC 低电平有效
DCMI->CR|=0<<7; //VSYNC 低电平有效 OV2640 VSYNC输出时序高电平时数据无效,为毛设置为低?
还有如何用定义的数组存储采集到的数据的问题,希望有用过STM32F407的DMA+DCMI方式采集摄像头数据的兄弟不吝赐教

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
★DZH1991★
2019-07-20 22:21
回复【2楼】正点原子:
---------------------------------
视频已经看了几遍了,不知道是否是我的理解有问题。我的理解是DCMI_CR寄存器的VSPOL和HSPOL这两位应根据摄像头的具体输出时序来配置,从OV2640的输出时序来看,VSYNC在数据无效时是高电平状态(VSPOL位应该配置为VSPOL=1,VSYNC 高电平有效),HREF在数据无效时是低电平状态(HSPOL位应该配置为HSPOL=0,HREF低电平有效);但不管如何,从OV2640的的输出时序来看,VSPOL与HSPOL这两位的配置应该不同的。希望原子哥帮忙解答
OV2640输出时序链接http://wenku.baidu.com/link?url=_CtoHLgypeH_LKgZF5PBOmefH7THqb0BDlEhsExwPqXeXtvQ9Mpv4w4MnDZwRtHlW-yVAqCrgDsq20OW39TzBkBpNm4hDkiPgZyN4Gcl8MG

一周热门 更多>