OV2640图片像素大小怎么配置?

2019-07-20 10:57发布

小弟现在正在调试ov2640,已经的到了图像,但是图像大小不知道怎么改变,主要是寄存器太多,不知道怎么配置,改变图片大小是不是还要改变时钟分频系数?希望知道的大神指点,有相关的资料也行,谢谢!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
wn1900
2019-07-22 04:34
回复【12楼】正点原子:
---------------------------------
//设置图像输出大小
//OV2640输出图像的大小(分辨率),完全由改函数确定
//width,height:宽度(对应:horizontal)和高度(对应:vertical),width和height必须是4的倍数
//返回值:0,设置成功
//    其他,设置失败
  u8 OV2640_OutSize_Set(u16 width,u16 height)
{
u16 outh;
u16 outw;
u8 temp; 
if(width%4)return 1;
if(height%4)return 2;
outw=width/4;
outh=height/4; 
SCCB_WR_Reg(0XFF,0X00);
SCCB_WR_Reg(0XE0,0X04);
SCCB_WR_Reg(0X5A,outw&0XFF); //设置OUTW的低八位
SCCB_WR_Reg(0X5B,outh&0XFF); //设置OUTH的低八位
temp=(outw>>8)&0X03;
temp|=(outh>>6)&0X04;
SCCB_WR_Reg(0X5C,temp); //设置OUTH/OUTW的高位 
SCCB_WR_Reg(0XE0,0X00);
return 0;
}

原子哥,上面这个是设置输出尺寸的。这一句话不对吧。
        temp=(outw>>8)&0X03;
temp|=(outh>>6)&0X04;
SCCB_WR_Reg(0X5C,temp); //设置OUTH/OUTW的高位 
查看手册,寄存器5C是这样的:
5C 
ZMHH[1:0] 
Bit[7:4]: ZMSPD (zoom speed)
Bit[2]: OUTH[8]
Bit[1:0]: OUTW[9:8]
上面的程序应该是右移八位吧。
temp|=(outh>>8)&0X04;

一周热门 更多>