0

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

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

现在的问题是

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

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

4

1 回答 1

1

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

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

请参阅此答案以大致了解您的 AT 命令发送/解析的外观。永远不应该使用固定的时间延迟;它要么中止命令,要么在最好的情况下浪费时间,等待不必要的长时间,而永远不会消除尽管等待而中止的风险。有关中止 AT 命令的更多信息,请参阅此答案

于 2013-11-20T17:33:28.133 回答