LabVIEWwilliam hill官网
直播中

wjf89948

8年用户 15经验值
私信 关注
[问答]

如何解决labview给GSM模块发送0x1A后,无响应,发送不了短信?

我是labview新手,用labview写了一个程序,用GSM模块发送短信。如果想让GSM模块发送短信,需要给GSM模块发送一个16进制的0x1A,GSM模块检测到这个0x1A后就可以发送短信了。
现在的问题是,我发送了0x1A,16进制的、字符串格式的都试过,但是GSM模块好像识别不了,一点反应没有,根本不发送短信。
我反复查了好多遍,GSM模块的配置成功了,没有问题,发送的文本格式也没有问题。但就是发送不了短信,到底怎么解决这个问题啊,急求!!
图片是我自己写的程序和运行结果。
  • labview程序图
  • 发送16进制1A
  • 发送字符串1A

回帖(3)

微光123

2019-6-18 13:21:00

最佳答案

你顺序结构中间加个等待500ms试试,可能是模块没有反应过来
2 举报

饶召日

2019-6-19 08:32:51
改用发送两个字符的ASCII 尝试一下
举报

wjf89948

2019-6-21 14:25:16
问题终于解决了,踩了好多坑,下面是我总结的几点需要注意。
在用labview和GSM模块发短信时:
1.一定要注意延时问题,如果不加延时,GSM模块可能反应不过来,可能会导致前后发送的内容串在一起,就会不符合PDU的发送格式,可能你从程序框图上看,发送的格式顺序没有错,但实际上串口接收的内容已经乱七八糟,根本不可能发送成功。

2.要注意进制问题。使用AT命令的GSM一般是认16进制的。在串口助手中用CTRL+Z组合键可以发送短信,但是在labview中需要用转义字符来发送。CTRL+Z的ascll码是26,16进制就是1A。在labview中,需要把字符串调整为16进制显示,在然后再输入1A,这样串口才会识别这个发送命令。其他一些比如说回车是0D,空格是0A,这些都可以查到。还有要注意大小写,我的这个GSM只认大写1A,输入1a是不识别的。

3.最后一点一定要格外重视就是格式问题。回车换行、回车、空格不能随便乱用,用错一个就无法发送。我圈出的这个行结束常量,就是我之前忽视的,一直用的是回车常量,导致格式出错,一直无法发送。
举报
  • 4.png

更多回帖

发帖
×
20
完善资料,
赚取积分