战舰上面OV7670中设置图像输出窗口这段该如何理解呢,应该说是算法如何理解,谢谢大家了

2019-08-22 16:20发布

//设置图像输出窗口
//对QVGA设置。
void OV7670_Window_Set(u16 sx,u16 sy,u16 width,u16 height)
{
 u16 endx;
 u16 endy;
 u8 temp;
 endx=sx+width*2; //V*2
  endy=sy+height*2;
 if(endy>784)endy-=784;
 temp=SCCB_RD_Reg(0X03);    //读取Vref之前的值
 temp&=0XF0;
 temp|=((endx&0X03)<<2)|(sx&0X03);
 SCCB_WR_Reg(0X03,temp);    //设置Vref的start和end的最低2位
 SCCB_WR_Reg(0X19,sx>>2);   //设置Vref的start高8位
 SCCB_WR_Reg(0X1A,endx>>2);   //设置Vref的end的高8位  temp=SCCB_RD_Reg(0X32);    //读取Href之前的值
 temp&=0XC0;
 temp|=((endy&0X07)<<3)|(sy&0X07);
 SCCB_WR_Reg(0X17,sy>>3);   //设置Href的start高8位
 SCCB_WR_Reg(0X18,endy>>3);   //设置Href的end的高8位
}  
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
30条回答
正点原子
2019-08-26 07:30
回复【26楼】enots:
---------------------------------
那是因为初始化序列里面,有窗口设置的部分,你可以看看我们的初始化寄存器列表,就知道了。
至于参数关系,我也不知道怎么来的,抄别人的,别人貌似是从linux代码移植过来的。
这样,只能你去问OV公司才可以知道为甚了。。。
搞懂了顺便告诉我下,谢谢。

一周热门 更多>