首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在串口发送短信有时会冻结硬件?

为什么在串口发送短信有时会冻结硬件?
EN

Stack Overflow用户
提问于 2012-09-27 07:57:26
回答 1查看 1.4K关注 0票数 2

我有一个小程序,可以通过SerialPort发送短信。它连续工作7-8天,每天发送数百条信息。但有时,它需要发送信息,只有硬件复位才能解决问题。

当调制解调器正在等待消息时(显示"> "字符串),而我发送了消息,就会出现这个问题。当调制解调器接收到CTRL+Z (ASCII#26)字符时,它应该返回一个"OK"。但是我从不重复这个响应,从那时起,每次写尝试都以一个System.TimeoutException: The write timed out结束。异常。

我可以捕捉到异常,但是我不能做任何事情来解决这个问题(除了硬件重置)。从第一次超时异常开始,串口就不能工作--甚至对于超级终端也不行。我有机会尝试了两种不同的调制解调器,但它们都产生了相同的模拟。(不同的调制解调器,但同一台计算机)我没有办法在像环境这样的生产中,在不同的机器上测试10天。

我使用了一个串行监控软件,它还显示,串行端口(或调制解调器)发送回写超时错误。当我初始化我的串口时,我将WriteTimeout属性设置为100 (ms)。根据调制解调器的制造商,我必须使用硬件握手。

我只发送简单的短信(没有PDU,不超过160个字符)。

我已经找到了this线程,谈到了写超时和硬件握手。我可以提高写超时值,但是我想知道为什么这个问题只是偶然发生的。我想知道这是否是我的问题.

我使用的是Windows4.0,程序运行在Windows200864位服务器上。

有什么想法吗?

根据丹尼斯的提示更新,我们找到了一个解决方案。看门狗部分是我自己的软件,检测超时异常。当发生这种情况时,程序将向专用硬件发送命令,以切换调制解调器的功率。起初,这种专门的硬件应该是中继卡,但我们发现了一种特殊的扩展线,可以通过RS-232或USB或以太网控制。(打开或关闭插头。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-27 08:25:51

对于经常使用GSM调制解调器的人来说,这是一个众所周知的问题.通常,您可以在软件级别进行记录,而硬件重置是唯一有效的方法。

如果你查看任何通过GSM收发器工作的自动取款机,你会发现那里有一个小型的看门狗设备,它是专为单一设备而设的,用来进行硬件复位(它比打开的电源关了电源)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12616635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档