通过调制解调器响应获取不中断的远程数据

时间:2019-05-01 12:31:32

标签: gprs sim900

我正在编写一个用于处理 SIM900 GPRS 的应用程序,并以多连接模式(AT+CIPMUX=1)向服务器发送/接收数据。问题是当我从服务器获取数据时,调制解调器响应也可能破坏数据,并且不知道如何检测或避免这种情况。

一切准备就绪后,将数据发送到连接0的正常过程是:

AT+CIPSEND=0
>
GET /index.php?packet=Test HTTP/1.1 \r\n Host:...
+RECEIVE,0,137:
bla bla bla
bla bla bla
bla bla bla

因此,请考虑您在这两个怪之间得到了调制解调器的响应。例如,如果我发送AT+CIPSEND=1(在第一个之后),则在>之后的数据块之间得到了+RECEIVE。这是一个例子,我可能会得到X, CLOSEDY, CONNECT OK,...

+RECEIVE,0,137:
bla bla bla
bla bla 1, CONNECT OK
bla bla bla bla

如何在不因调制解调器响应而中断的情况下正确获取数据?

1 个答案:

答案 0 :(得分:0)

有一条AT+CIPTXISS命令,它将“以TCP数据模式丢弃输入的AT数据”(来自SIM900 AT手册)。 desc对我来说不是很清楚,但是正如我测试过的那样,当接收TCP数据时很明显,尽管会收到诸如CONNECT OKCLOSED之类的响应,但发送AT命令将被丢弃,但是在此之后或之前+RECEIVE块因此不会中断数据块。