11217|15

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ARM串口通讯丢包问题,急!!! [复制链接]

      各位,我最近调试一个东东,LPC2114用串口Uart0与电脑通讯。上位机程序是VC++6.0编的。工作顺序如下:首先电脑定时发送8字节读数指令,2114收到后返回8字节数据。问题是无论2114内的串口程序是中断的还是轮询的,电脑收到的数据总有丢包现象。电脑定时发送10ms一次时,丢包很严重,50ms一次就好一些。100ms没有丢包。2114倍频后44MHz,波特率115200。
     我的程序中就这一个中断,按理说一个周期16个字节,10ms应该绰绰有余,串口不至于堵塞啊。苦恼中~
      怎么回事啊,大家帮忙想想办法?
此帖出自ARM技术论坛

最新回复

这个问题啊,最好用分析仪调试一下你的串口上位机程序,马上能发现你的PC程序哪里有问题. 你现在缺乏调试手段,不知道问题出在哪里,就病急乱投医. 串口监视分析仪comspy V2.0大众普及版(2010/01/05更新) http://www.armecos.com/freedown/down.asp?id=17&url=/down/good/comspy-v20.rar 本程序用于串口监视,不占用当前被测串口。 只要Windows系统能枚举出来的串口都可以监视,支持一次同时监视多个串口。 工程师必备工具---串口分析利器!!! 注册费仅¥39,一本书的价格!!! 就当买本书吧!!!  详情 回复 发表于 2010-1-17 16:47
点赞 关注
 

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
问题应该你的自己弄的那个用VC做的上位机软件,PC上的应用存在延时,楼主有没有认真关注过。
你的上位机软件在处理接收数据等存在问题,楼主好好审查下对应的代码。

建议楼主用找个串口调试助手试试,测试看看,估计不会这样;

另外关注下波特率,如果有示波器,则最好找个示波器,好好测试下。
此帖出自ARM技术论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
先拿串口助手试试,应该不会这样。
此帖出自ARM技术论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
用串口调试工具试试吧,只能一点点测试
此帖出自ARM技术论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
先让2114收到后返回8字节PC读数指令看看,是不是PC8字节读数指令有丢的?
此帖出自ARM技术论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
    kyzf正解!强!
    原先我用是这么查的:串口调试助手定时对2114发数,然后2114返回数据,发现有收不到数的现象。我以为是arm的问题。后来我用sscom3.2试了下,没有丢数,也不延时,才意识到是PC的问题。最后我精简了VC6.0的程序,基本只留串口收发,有点效果,但10ms还是有丢包。再一次陷入困境。纳闷人家sscom咋编的呢?还是VC6.0的串口控件不行?(sscom是c++builder编的)
    此外,串口调试助手会丢数的,大家可试试。
此帖出自ARM技术论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

7
 
我去年被这个问题搞的非常郁闷
因为WIN不是实时操作系统 所以在WIN下面的操作会有丢数据的
此帖出自ARM技术论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
跟人家操作系统没关系

是lz的控件使用方式可能不对

其实偶不喜欢ms的串口控件,更倾向于自己写的串口类,创建一个线程专门接收
此帖出自ARM技术论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 
上位机接收部分处理的时间尽量缩短,避免阻塞。
必要的话,可以采用队列+多线程的处理方式
此帖出自ARM技术论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用楼主 lesterlotte 的回复:
? ? ? 各位,我最近调试一个东东,LPC2114用串口Uart0与电脑通讯。上位机程序是VC++6.0编的。工作顺序如下:首先电脑定时发送8字节读数指令,2114收到后返回8字节数据。问题是无论2114内的串口程序是中断的还是轮询的,电脑收到的数据总有丢包现象。电脑定时发送10ms一次时,丢包很严重,50ms一次就好一些。100ms没有丢包。2114倍频后44MHz,波特率115200。
? ? 我的程序中就这一个中断,按理说一个周期16个字节,10ms应该绰绰有余,串口不至于堵塞啊。苦恼中~
? ? ? 怎么回事啊,大家帮忙想想办法?

1. 如果可能, 降低波特率。
2. PC软件是否使用的异步IO,如果可能的话贴出PC端串口通信处理的代码,大家可以进一步帮你分析问题的所在。
3. 如果丢包问题依然存在,增加容错机制。
此帖出自ARM技术论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

11
 
各位,我决定了,搞多线程,多谢了!!!
此帖出自ARM技术论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 10 楼 lesterlotte 的回复:
各位,我决定了,搞多线程,多谢了!!!


支持,我顶你,呵呵
此帖出自ARM技术论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

13
 
楼主这种问题
是编写串口调试助手软件
最常需解决的问题

目前大家常用的
几种串口调试助手
以前见过他们的作者
讨论过这些问题

另外楼主的那个空间没用过
以前我用过另外一个控件
楼主还是直接调用API吧
此帖出自ARM技术论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

14
 
额。。串口通信你不会原来就没有用多线程吧???
此帖出自ARM技术论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

15
 
没这么复杂吧,我用vb很好搞的啊
此帖出自ARM技术论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

16
 
这个问题啊,最好用分析仪调试一下你的串口上位机程序,马上能发现你的PC程序哪里有问题.
你现在缺乏调试手段,不知道问题出在哪里,就病急乱投医.

串口监视分析仪comspy V2.0大众普及版(2010/01/05更新)
http://www.armecos.com/freedown/down.asp?id=17&url=/down/good/comspy-v20.rar

本程序用于串口监视,不占用当前被测串口。
只要Windows系统能枚举出来的串口都可以监视,支持一次同时监视多个串口。

工程师必备工具---串口分析利器!!!

注册费仅¥39,一本书的价格!!!

就当买本书吧!!!
此帖出自ARM技术论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表