AT命令禁用无线电信号强度指示等?

时间:2012-06-17 21:10:54

标签: gsm at-command rssi

我正致力于使用GSM调制解调器和我的电脑发送和接收短信的程序。

我已经开始接收工作了 - 好吧。

偶尔我的程序被发送到一个完整的chrash,因为调制解调器混合了有关无线电信号强度指示等的信息,同时还为我的程序提供了消息的十六进制代码。

我的代码可以很好地处理十六进制代码。但我在解码字节流时看到了以下行弹出:

^RSSI: 2

到目前为止,我已经看到它发送的值介于1到10之间。

是否有可以禁用它们的AT命令?我没有必要。

或替代方案:它们是否有通用语法,因此我可以在解码之前将其过滤掉?

我倾向于过滤解决方案。但是,如果我知道调制解调器在表单上发送出来时会更容易实现:“^ SOMETHING:xxx”,那么很高兴知道它是否总是随后是分隔符,例如“\ r \ n”

2 个答案:

答案 0 :(得分:9)

您应该尝试使用AT ^ CURC = 0关闭定期消息。

有关AT ^ CURC命令的信息:

  

AT ^ CURC?定期状态消息的当前设置

     

AT ^ CURC =?看看你可能的价值是什么

     

AT ^ CURC = 0关闭定期状态消息

答案 1 :(得分:1)

解决这种情况的最佳方法是用空字符串替换响应的那一部分,否则,即使发送的禁用它的命令工作正常,也很难检查。

这个正则表达式将匹配所有这些。您可以理想地用空字符串替换它们。

(\\n|\\r|\\r\\n)\\^.*(\\n|\\r|\\r\\n)