在命令Verifone Nurit8320和西门子MC55外部调制解调器之间的通信

时间:2013-11-07 07:28:06

标签: gsm at-command gprs verifone

我正在通过西门子MC55 gsm调制解调器(DCE)与Verifone Nurit8320(DTE)的服务器进行通信。 我通过UART传递AT命令,向西门子MC55 gsm调制解调器(DCE)发出命令。

我在每个AT命令之间给出了100 ms(必需)的延迟,并且在发送任何命令之前我正在刷新DTE的UART。

现在的问题是

在许多情况下,DCE正在响应先前执行的AT命令的响应。 DCE UART永远不会刷新。

在哪里可以获取AT命令集,以便我可以刷新DCE的UART缓冲区?

1 个答案:

答案 0 :(得分:1)

您要解决的问题(刷新DCE UART)是一个错误的问题,因为它是AT命令通信中不存在的问题。

向DCE发送AT命令后,必须读取作为DCE响应发回的每个字符,并解析文本,直到收到最终结果代码(例如OKERROR以及其他一些),然后才能发送下一个AT命令。任何其他方式注定会带来无穷无尽的问题列表,永远不会,永远不会可靠地工作。

有关AT命令发送/解析应该如何的概述,请参阅this answer 看起来像。永远不应该使用固定的时间延迟;它会中止命令,或者在最好的情况下浪费时间,同时等待不必要的长时间,同时从不消除等待中止的风险。有关AT命令中止的更多信息,请参阅this answer