STM32f407 DCMI方式驱动 OV2640

程序是在正点原子的例程上移植的

OV2640 图像

主要调试函数:

void OV2640_Window_Set(u16 sx,u16 sy,u16 width,u16 height)

该函数用于设置传感器输出窗口

u8 OV2640_ImageSize_Set(u16 width,u16 height)

用于设置图像大小

u8 OV2640_ImageWin_Set(u16 offx,u16 offy,u16 width,u16 height)

用于设置图像窗口大小

u8 OV2640_OutSize_Set(u16 width,u16 height)

该函数用于设置图像输出大小

项目问题:

分辨率为1600*1200

截窗后分辨率为640*400

调试遇到的问题:

使用函数OV2640_ImageWin_Set(0,200,1600,1200)

      OV2640_OutSize_Set(640,200)

 是可以正常截窗的

但是如果将OV2640_OutSize_Set(640,400);

发现就不能正常显示图像

初步判断是由于OV2640_OutSize_Set设置的比例不能完全适合OV2640_ImageWin_Set的比例(需要进一步查看ov2640手册)

经过验证发现横坐标可以正常缩放,而纵坐标大于200之后就不能正常显示图像了

解决办法:

OV2640_ImageWin_Set(0,200,1600,height)

      OV2640_OutSize_Set(640,height)

将ImageWin_Set 高度和OV2640_OutSize_Set设置成一致就可以解决这个问题。

注:OV2640_Window_Set(u16 sx,u16 sy,u16 width,u16 height)设置传感器窗口,尽量不要使用,这个函数设置完成后是由ov2640 的传感器DSP计算后输出图像,所以尽量不要使用。

原文地址:https://www.cnblogs.com/tianchiyuyin/p/5105310.html