OpenEdv-开源电子网

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

OV2640上位机bug修正版

[复制链接]

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2082
金钱
2082
注册时间
2014-12-19
在线时间
711 小时
发表于 2015-11-30 09:07:34 | 显示全部楼层 |阅读模式
以前的上位机主要bug莫过于对于不正确的JPEG数据解析时程序异常退出。
经分析,上位机的一些不良设计有:
1、如果端口已被其他程序打开,点击打开按钮弹出提示框后会自动关闭程序。
2、没有对异常进行处理,导致程序很容易自动关闭退出。
3、切换到文本显示方式时程序容易死掉。
4、其他。
附件里的程序主要针对以上1和2进行了改进,程序基本上还是原来的老样子。
目前的程序对于不正确的JPEG数据(有可能是RGB565之类的)解析时不会退出。
如果很长时间软件都不显示JPEG图像,说明OV2640发过来的数据可能不是JPEG数据。

针对原子的建议,新增了3个波特率。不过因为最近较忙,没怎么去试。有时间的话会再努力完善OV2640的上位机程序。
图中这个USB转串口采用的是FT232R芯片,所以波特率可以上去。一般的串口也就到115200,如果COM口本身不支持这么高的波特率,选中这么高的波特率打开时会提示参数错误。

串口.exe

31 KB, 下载次数: 390

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2082
金钱
2082
注册时间
2014-12-19
在线时间
711 小时
 楼主| 发表于 2016-1-6 08:26:52 | 显示全部楼层
本帖最后由 lvehe 于 2017-8-31 08:29 编辑

原程序对300kB以上的数据判断为无效数据,暂改为2MB以上判断为无效。波特率过高,数据量大的时候仍可能有问题,和300kB的限制无关。原因在于程序每次对单一字节进行判断,过快的数据使得程序有可能处理不过来。
如要修改以上诸多问题,只有推倒重来,另编个思路更好的程序。

串口.rar

11.82 KB, 下载次数: 313

串口2.rar

92.27 KB, 下载次数: 158

源码

回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-11-30 23:02:52 | 显示全部楼层
这个软件是你写的???
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-11-30 23:03:32 | 显示全部楼层
串口波特率有点慢,能在提高么?
比如可以设置到460800或者921600
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2082
金钱
2082
注册时间
2014-12-19
在线时间
711 小时
 楼主| 发表于 2015-12-1 08:20:19 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
不是我写的,由于它是由C#编的,所以源码很容易导出。
波特率其实可以再上去的,原作者只定义到115200而已。
波特率上去后处理JPEG图像显示应该没问题,但文本显示要对数据进行16进制转换,数据太快太多就会感觉力不从心。可能需对和算法和一些影响性能的细节进行优化。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-1-5 15:37:15 | 显示全部楼层
lvehe 发表于 2015-12-1 08:20
回复【3楼】正点原子:
---------------------------------
不是我写的,由于它是由C#编的,所以源码很容易 ...

是不是有图像大小限制?
我现在发送大于200KB的jpeg图片上来,根本不显示...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-1-5 17:02:15 | 显示全部楼层
我现在用这个调试OV5640,当图片数据大于200KB以后,出错概率大大增加.大于300KB以后,基本上无法识别发送过来的图片数据.
但是图片是完整的,我用串口助手接收hex格式,然后转换为bin文件,修改后缀为jpg,则图片正常.
用这个软件,就无法识别.估计是数据太多了,里面处理有问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

347

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
2082
金钱
2082
注册时间
2014-12-19
在线时间
711 小时
 楼主| 发表于 2016-1-5 18:57:25 来自手机 | 显示全部楼层
的确有限制,明天改一下。这个程序问题真的很多。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-3-18
在线时间
2 小时
发表于 2018-8-10 10:59:18 | 显示全部楼层
给力,用上了,谢谢
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-3-18
在线时间
2 小时
发表于 2018-8-10 11:01:50 | 显示全部楼层
看了下不过帧头帧尾这样判断还是会存在误判的情况的

回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 16:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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