我正在编写一个用于处理 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, CLOSED
,Y, CONNECT OK
,...
+RECEIVE,0,137:
bla bla bla
bla bla 1, CONNECT OK
bla bla bla bla
如何在不因调制解调器响应而中断的情况下正确获取数据?
答案 0 :(得分:0)
有一条AT+CIPTXISS
命令,它将“以TCP数据模式丢弃输入的AT数据”(来自SIM900 AT手册)。 desc对我来说不是很清楚,但是正如我测试过的那样,当接收TCP数据时很明显,尽管会收到诸如CONNECT OK
或CLOSED
之类的响应,但发送AT命令将被丢弃,但是在此之后或之前+RECEIVE
块因此不会中断数据块。