Recv data is too long.有人4G模块USR-LTE-7S4响应AT指令失败

使用这个模块在上电复位后,开始会收到若干未知数据,设备正常工作时会回复[USR-LTE-7S4]
Recv data is too long.有人4G模块USR-LTE-7S4响应AT指令失败
以查询固件信息为例,发送AT+VER?,会返回Recv data is too long.错误:
Recv data is too long.有人4G模块USR-LTE-7S4响应AT指令失败
是因为此时模块并不是AT指令模式,需要先退出该模式。

在USR-LTE-7S4 软件设计手册28页写到:
Recv data is too long.有人4G模块USR-LTE-7S4响应AT指令失败
从网络透传、HTTPD 切换至临时指令模式的时序:

  • 串口设备给设备连续发送“+++”,设备收到“+++”后,会给设备发送一个‘a’。 在发送“+++”之前的一个串口打包间隔时间(参考 2.2.2 成帧机制)内不可发送任何数据。
  • 当设备接收‘a’后,必须在 3 秒内给设备发送一个‘a’。
  • 设备在接收到‘a’后,给设备发送“+ok”,并进入“临时指令模式”。
  • 设备接收到“+ok”后,知道模块已进入“临时指令模式”,可以向其发送 AT 指令。

从 AT 指令模式切换至网络透传、HTTPD 的时序:

  • 串口设备给设备发送指令“AT+ENTM”后面加回车符,16 进制表示 0x0D0x0A。
  • 设备在接收到指令后,给设备发送“OK”,并回到之前的工作模式。
  • 设备接收到“OK”后,知道模块已回到之前的工作模式。

注意这里的+++a的发送是不需要发送换行符\r\n的,而查询指令AT+VER?是需要加换行符才行的,否则会返回+ERR:2的错误。
Recv data is too long.有人4G模块USR-LTE-7S4响应AT指令失败