OpenEdv-开源电子网

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

阿波罗STM32H743 0V5640输出窗口疑问

[复制链接]

9

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
479
金钱
479
注册时间
2019-12-6
在线时间
149 小时
发表于 2024-4-2 16:54:48 | 显示全部楼层 |阅读模式
30金钱
请教一下各位大神,原子哥,最近在学摄像头实验,教程用的四寸屏,所以显示没有问题,我的是七寸电容屏(1024*600)的,只显示中间部分,我改变了lcd显示的方向和当前行g_curline=0,dir=1;横屏显示没有问题,能全屏输出,但是竖屏的时候无论我怎么改,都不能显示全屏,图片一中断回调函数里的判断条件是if(g_curline < lcddev.height) g_curline++;我也调试过了,lcddev.height=0x400;也就是1024;但是仿真的结果g_curline ++ ==720的时候g_curline 就重新赋值0了,正常的话g_curline 应该等于1024才重新赋值为0呀,寄存器我也检测过了,传感器窗口设置2592*1944了,输出窗口(竖屏)600*1024也没有问题,但是就是无法显示全屏,已经搞了三天了,望各位指点指点。谢谢大家,有例程在下面
横屏情况.jpg
竖屏情况.jpg
图片一.png

实验39 摄像头实验test.zip

2.43 MB, 下载次数: 1

最佳答案

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

本人经过七天的逛论坛还有查寄存器和百度,终于找到了我想要的答案,竖屏的时候确实输出不了1024列,最多只能输出940列高度的数据,一个像素点2个字节,0x758=1880,1880/2=940列,原因如下:ov5640自带24MHz晶振,配置寄存器,输出时钟cam_clk是48MHz,输出数据位宽8bits,因LCD为RGB565显示模式,故两个cam_clk合成一个16bits的像素,cam_pixel_clk = 24MHz。设置有效分辨率为800*480,但摄像头行扫描高达1800像素,场扫描1000 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
479
金钱
479
注册时间
2019-12-6
在线时间
149 小时
 楼主| 发表于 2024-4-2 16:54:49 | 显示全部楼层
LcwSwust 发表于 2024-4-3 09:26
不太了解,看了下手册,
你看DVPHO、DVPVO是否需要调整一下?
你这DVPHO=0x0500=1280,DVPVO=0x02D0=72 ...

本人经过七天的逛论坛还有查寄存器和百度,终于找到了我想要的答案,竖屏的时候确实输出不了1024列,最多只能输出940列高度的数据,一个像素点2个字节,0x758=1880,1880/2=940列,原因如下:ov5640自带24MHz晶振,配置寄存器,输出时钟cam_clk是48MHz,输出数据位宽8bits,因LCD为RGB565显示模式,故两个cam_clk合成一个16bits的像素,cam_pixel_clk = 24MHz。设置有效分辨率为800*480,但摄像头行扫描高达1800像素,场扫描1000像素(config文件设置是这个数,实测没有那么大)。百度找博主找到的,实测也是一样,大家也可以试试,我给出自己的调试结论,改变物理窗口,输入窗口,pclk,hoffset,voffset,帧率等都会影响到输出窗口的大小.
调试图片.png
回复

使用道具 举报

9

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
479
金钱
479
注册时间
2019-12-6
在线时间
149 小时
 楼主| 发表于 2024-4-2 17:00:06 | 显示全部楼层
这是传感器窗口配置 2632*1705

传感器窗口配置

传感器窗口配置
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2024-4-3 09:26:47 | 显示全部楼层
本帖最后由 LcwSwust 于 2024-4-3 09:29 编辑

不太了解,看了下手册,
你看DVPHO、DVPVO是否需要调整一下?
你这DVPHO=0x0500=1280,DVPVO=0x02D0=720,可能代表实际图像就是1280*720。

对了,旁边不是有示波器吗,可以测一下HREF、VSYNC,看一帧图像到底有多少行。

傲游截图20240403092618.jpg

专治疑难杂症
回复

使用道具 举报

9

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
479
金钱
479
注册时间
2019-12-6
在线时间
149 小时
 楼主| 发表于 2024-4-3 13:59:48 | 显示全部楼层
本帖最后由 陶佳不哭 于 2024-4-3 14:01 编辑
LcwSwust 发表于 2024-4-3 09:26
不太了解,看了下手册,
你看DVPHO、DVPVO是否需要调整一下?
你这DVPHO=0x0500=1280,DVPVO=0x02D0=72 ...

我不太明白这个H offset 和 V offset有什么用,我已经示波器捉过波形了,只能输出七百对多行,DVPHO=0X500,DVPVO=720,这里是初始化的,实际输出有个输出窗口函数,我也调试过了,DVPH0=0X400,DVPV0=0X258 (七寸屏600*1024,竖屏显示时高1024,宽600),但是程序执行到七百多就重新赋值0了,并没有走到1024,传感器的输入窗口我也设置了2632,宽度设置最大值是1775,大于1175不显示,少于1775,输出的高度会变小,高度设置大于600(2632),都能正常显示,对输出的高度不影响。请看图片说明
图片一.png
回复

使用道具 举报

9

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
479
金钱
479
注册时间
2019-12-6
在线时间
149 小时
 楼主| 发表于 2024-4-3 14:03:02 | 显示全部楼层
陶佳不哭 发表于 2024-4-3 13:59
我不太明白这个H offset 和 V offset有什么用,我已经示波器捉过波形了,只能输出七百对多行,DVPHO=0X50 ...

寄存器设置图片
寄存器设置.png
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2024-4-7 09:58:47 | 显示全部楼层
陶佳不哭 发表于 2024-4-2 16:54
本人经过七天的逛论坛还有查寄存器和百度,终于找到了我想要的答案,竖屏的时候确实输出不了1024列,最多 ...

我估计还是哪里没整对,从查询的资料来看,它应能设置到2592*1944的分辨率才对。
我没有相关的硬件,所以暂时帮不了楼主了。
专治疑难杂症
回复

使用道具 举报

9

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
479
金钱
479
注册时间
2019-12-6
在线时间
149 小时
 楼主| 发表于 2024-4-7 11:47:36 | 显示全部楼层
LcwSwust 发表于 2024-4-7 09:58
我估计还是哪里没整对,从查询的资料来看,它应能设置到2592*1944的分辨率才对。
我没有相关的硬件,所 ...

2592*1944是jpeg才可以,RGB565只能1800*1000
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 18:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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