我写了一个C#应用程序,每秒两次通过串口查询GSM调制解调器。查询是通过
执行的AT+CMGL="ALL"
命令,如果消息存储中没有可用的消息,调制解调器将回复消息列表或简单确定。
现在,问题是如果程序运行了几个小时左右,在成功查询调制解调器超过12000次(同时没有传入消息)后,当消息到达时,GSM调制解调器挂起并且响应AT + CMGL =“ALL”命令没有响应。
我甚至试图杀死程序并通过其串口通过PuTTYTel访问调制解调器,我得到了相同的行为。使调制解调器再次工作的唯一方法是将其从USB端口物理移除并重新插入。在我执行“冷重置”之后,随后的AT + CMGL =“ALL”命令检索新到达的SMS。 / p>
在我最初认为这是一些事件同步问题之后,这个问题花了我生命中的两个宝贵的一周。这里真的无处可去。到目前为止有人遇到过这种奇怪的行为吗?有什么我做错了吗?
此致 Valer