STM32 摄像头实验OV2640
OV2640的引脚定义与正点原子的定义相同,这里主要说几个注意事项
硬件部分
- 关于SCCB
- OV2640或者是OV7670等等摄像头需要外部时钟送入,如果SCCB通信不通的话首先检查下时钟XCLK是否存在?如果时钟存在的话SCCB的设备ID是否填对?其他时序上的问题一般不大
- 关于供电
- 供电的VCC的驱动能力是否足够?OV2640在开发板上除了直流输入外还需要确保5V输入接入,否则会出现花屏的现象。
- 关于接线
- 接线部分使用杜邦线是可以显示的,在花屏的时候如果连接正确先找代码的问题。
DCMI部分
-
如果是直接在TFT液晶屏上显示,DCMI中断开启后会有闪屏的问题,这个视情况调整
-
DCMI的配置如下
DCMI_InitStructure.DCMI_CaptureMode = DCMI_CaptureMode_Continuous; //连续模式 DCMI_InitStructure.DCMI_CaptureRate = DCMI_CaptureRate_All_Frame; //全帧捕获 DCMI_InitStructure.DCMI_ExtendedDataMode = DCMI_ExtendedDataMode_8b; //8位数据格式 DCMI_InitStructure.DCMI_HSPolarity = DCMI_HSPolarity_Low; //HSYNC 低电平有效 7670w为Low 2640为low DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Rising; //PCLK 上升沿有效 DCMI_InitStructure.DCMI_SynchroMode = DCMI_SynchroMode_Hardware; //硬件同步HSYNC,VSYNC DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_Low; //VSYNC 低电平有效 7670w为High 2640为low
- 需要注意的是HS和VS的极性,即行有效时是低电平还是高电平(HS)和帧有效时是高电平还是低电平(VS),如果这里配置错误,DCMI开启后会捕捉不到画面
- 配置DCMI显示图像可以和UCOS的其他任务一起工作,并不影响RAM空间使用