我有一个奇怪的问题,我在SIMCOM900A中无法弄清楚,我每隔5秒接收大约1080字节的下行链路数据,同时做其他事情,比如向服务器发送数据。但是,有时AT命令响应在下行链路数据之间进入。如下所示: - @@ to ##是我的下行数据包,但我之间收到AT + CSQ响应!
@@ 10500000110483&安培; A8813&安培; B182&安培; C1027&安培; d〜OTA_S |真|进程内| 182 | YCrOK / Uei1R / CKZSAmV + EkjvShKck + ko7zPYP0y7vULiXaPY6H6FeJx47QtXM + 0 + vAInJ7svI9nQVljeKO9oaDmPU5Qp6p2Yp2GSGbMlvqJhshlTEpcH + 6dG759Oev / YBfoNYPg76IG7Ufd1hl7msQshJvQLCdcvYuZKv1xfSFH0xcUR9EVU7UBQO8CYP0HIPQb98JhhvJ6XqrVHQph + 6JSq6YcEmCU9YG7ANaaHpX7Q + CXQ / C7W + dmFru6VytvXpyRQbnEoSZDA4jx6MbM4vZjFgb6laHEocUl9JbA4wy8Gjeil6MX1Ae / MeI9zWkItwWgxSOM2VuIWpzNBe3MnpOwocXvDcnH / QsI2xHvUsxeT4RK0pLSvGVvSJ2G + TuZ80L54xfa9mCRu0tt3Pf / doPMt2neo3h6dw2zX46m / NdvVmfVCS9muTL3tLtHbziEs0TzA8H28w2m9nCB1htF0H / RRsvcBWeuhTuC3XAn5A3eCZN6LQKNjLEGCdcHdSDmP1bOD / D5bF / QCaS8GnWCYNewnN1uLenUx2MCiVM0GXgo28LKw9cK7gA81rBcuM60XBlNOM64XRhCkBbIus1gvXBZhvXAptLYPpHDZuJ95qd76LblmuFRfM7SlP3 / NcJlpzWCUM8lCTqs1w + nkbJl1w6X6usEs55msGy4zrRseMMjZPaqcoeuG08l6JmuHS / W1g1mSM1s7aOPcNl4b54kwzruE + Xqtx2u + XiL4el2gfWOp0ddrO16bv33CfL2O4618vT5gZ26N4OshdpPw2nhc89rw7nbh6 / F40NeLmqtnH7jrf9a + Xh9dvr5h + x4DATuf7Xb0hTLw18EwxnclkHIDNe9K3MraThZt / yfI70bevmvJ0Nh + JD + FGgzzXsP6SNM190O6wQZd08 + ka26knGbUNU8S pAWy + lnomn6WumbIzGvEWvZaGI99WlzHXKvrmOv
+ CSQ:10,0
行
OQsf0M + kYo3xJFvKF65jI8rWMbrlW1y3XnYVu6WfS〜##
欢迎任何有关为何发生这种情况或如何解决问题的建议!提前谢谢。
答案 0 :(得分:1)
这是一个配置问题。基本上使用SIMCOM900A,如果我的记忆正确,我将限制为两个串行接口。一个用于AT命令和调制解调器控制,第二个用于调试。
当您通过AT命令接口建立数据连接时,它实际上共享用于传入/传出数据通信和调制解调器控制命令的接口。您在+ CSQ消息中看到的是未经请求的(URC)结果代码。
您基本上有两个选择:
1)使用调制解调器支持的GSM 07.10多路复用。然后它们连接到您的调制解调器并使用AT + CMUX进行配置,这样您就可以有两种方式连接到同一个串行设备。
此后,您可以使用一个来管理调制解调器和发送/接收AT命令和响应。第二个用于接收/发送纯数据(您也可以在此通道中执行AT命令但有限制)。
2)修改主机程序/脚本以应对这种情况,并根据是数据还是AT命令响应/未经请求的响应代码来决定做什么。
注意:关于多路复用的警告。通过多路复用,最终会降低调制解调器和主机之间的通信性能。
注意:总是很好地阅读有关接口和AT命令的调制解调器手册。制造商因与GSM规范相比略有不同而闻名:)