战舰上面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条回答
蘑菇
1楼-- · 2019-08-26 03:46
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-08-26 04:31
回复【24楼】蘑菇:
---------------------------------
这个是官方给出的(linux驱动里面),没有为什么.
拜仁慕尼黑
3楼-- · 2019-08-26 07:57

g我也觉得要加
1327203823
4楼-- · 2019-08-26 12:46
 精彩回答 2  元偷偷看……
小浅
5楼-- · 2019-08-26 17:30
小果粒 发表于 2013-1-27 15:13
总觉得论坛里面有点冷清,这个问题昨晚没想出来,今天问了之后没有人马上回答,又继续想,再不断上网查阅资 ...

这个可以把窗口开大点么??看不懂寄存器计算的值啊??怎么算的 ?
wlchad
6楼-- · 2019-08-26 19:46
楼主 我的是2.8寸的屏幕,屏幕显示老是错位,你用的也是2.8寸的屏幕吗

一周热门 更多>