OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4466|回复: 5

OV7670+DCMI如何取窗口?

[复制链接]

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
发表于 2018-10-17 09:26:12 | 显示全部楼层 |阅读模式
3金钱
用STM32F407+OV7670做摄像头实验,VGA和QVGA图像获取正常,但想要在OV7670开窗,一取窗口,图像就不能正常显示了,不知道如何获取。
取窗口的代码如下:
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位
}


取窗口和显示宽度也做了相应的修改
P4NJ6$021@SMWU{5@FLY2YJ.png
1I)L(@({ID)ACFIV7D1X@Z2.png

最佳答案

查看完整内容[请看2#楼]

(10, 176, 240,320); 前面两个参不能动,后面可以改
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

323

帖子

1

精华

高级会员

Rank: 4

积分
935
金钱
935
注册时间
2017-12-11
在线时间
196 小时
发表于 2018-10-17 09:26:13 | 显示全部楼层

,

(10, 176, 240,320); 前面两个参不能动,后面可以改
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-10-17 15:24:36 | 显示全部楼层
本帖最后由 divdir 于 2018-10-17 21:24 编辑
wlq390934605 发表于 2018-10-17 09:26
(10, 176, 240,320); 前面两个参不能动,后面可以改

非常感谢。我看了好多遍7670的手册和取窗口函数都没解决,你一句话就帮我解决了。另外再问一下,现在QVGA取窗口OK了,但VGA取窗口还是不行,该如何设置呢?
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-10-17 21:19:05 | 显示全部楼层
本帖最后由 divdir 于 2018-10-17 21:21 编辑
wlq390934605 发表于 2018-10-17 17:44
模块化的7670没有VGA,可以看我发的CIF模式

没有明白你说的“模块化的7670没有VGA”,能加以解释说明一下吗?OV7670的VGA分辩率640*480我在实验中是已经实现的,只是开窗口不成功,你是想说必须要用CIF模式才能开窗口吗?如果是这样那我还得好好研究一下这CIF是什么样的模式了
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-10-17 21:53:52 | 显示全部楼层
本帖最后由 divdir 于 2018-10-17 21:54 编辑
wlq390934605 发表于 2018-10-17 21:38
你用的谁的代码,还能开VGA模式, 原子,神舟,*火,安富莱都没有哦。数据量都不够

http://www.openedv.com/forum.php ... ghlight=7670%2Bdcmi
我用了这个代码修改而来。640*480分辨率7670是可以做得到的。用DMA直接把数据传到LCD。
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2018-7-20
在线时间
7 小时
发表于 2018-11-20 21:41:28 | 显示全部楼层
求源码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 22:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表