战舰上面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条回答
luckymist
1楼-- · 2019-08-24 06:15
回复【10楼】正点原子:
---------------------------------
我设置成QCIF输出,但是得到的数据在LCD上显示很乱,看不到图像。我把LCD设成串口160*120的才勉强能看到一部分图像,有部分是重影的。在LCD的160*120窗口上画点画线都是正常的,因此问题应该是出在OV7670上的输出设置。不知道原子哥对OV7670的视频输出设置能不能给点建议呢?
banye
2楼-- · 2019-08-24 12:07
原子的这段代码,倒数第3行之后,是不是该加SCCB_WR_Reg(0X32,temp);    //设置Href的start和end的最低3位
正点原子
3楼-- · 2019-08-24 17:49
 精彩回答 2  元偷偷看……
紫尘小奇
4楼-- · 2019-08-24 22:24
回复【12楼】luckymist:
---------------------------------
楼主能设置成输出320×240的格式吗,就是在lcd屏上横着显示出图像来?一直设置不出理想的效果来,希望有人指导!!
追风过后
5楼-- · 2019-08-25 02:58
请问图像一直移动是和这个原因有关系吗?
正点原子
6楼-- · 2019-08-25 03:18
回复【16楼】追风过后:
---------------------------------
数据错位了,可能窗口不对。

一周热门 更多>