yaya001 发表于 2011-9-13 21:32:50

TC35i AT+CMGS 指令的返回内容疑惑?

以下内容是我从网上找到的

AT+CMGS指令
命令解释:发送短信
命令格式:AT+CMGS=xxx<CR>    注: xxx 代表接收短信的电话号码.
命令返回:>                  注: 此时等待短信内容输入. 输入完短信
内容后,需要按 Ctrl+Z发送短信.
       +CMGS: xxx            注: xxx 代表通道端口代码,它是随机的.
          OK       (此返回值表示短信发送成功)
          ERROR   (此返回值表示短信发送不成功)

从上面的说明中,可以看到,返回的可能性有
+CMGS: xxxOK 或是 +CMGS: xxxERROR
但是我在实际的操作过程中发现,模块只返回OK的情况,在这种情况下,短信有时候发送成功,有时候失败。
我程序如果认为只返回OK是发送失败的话,有时候接收方会收到两条重复的短信,而我认为只返回OK是发送的成功的话

,有时候接收方就收不到短信。

目前很迷惑,不知道该如何处理,只返回OK的情况,不知道大家是否遇到过同样的情况?
谢谢。

jzb8736 发表于 2011-9-13 21:39:30

回复【楼主位】yaya001
-----------------------------------------------------------------------

就这水平还开淘宝?坑爹么?

yaya001 发表于 2011-9-14 14:18:48

ls的我的水平高低 论不到你来说三道四的。
你管好自己就行了。

yaya001 发表于 2011-9-18 16:45:15

顶顶 希望苹果猫能看到 哈哈

leirui001 发表于 2014-5-8 15:34:16

楼主问题解决了么?

Appcat 发表于 2014-5-8 15:43:36

+CMGS: xxx后面的xxx是基站给你的确认序号,如果你发送多条短信,这个序号是依次递增的。
至于返回OK或者ERROR,我认为模块和模块的处理方式并不一定都一致,所以不建议做为判断条件。一般情况下,可以认为短信是不可靠服务,因为即使基站给你了确认序号,短信也未必一定能发送成功。如果要最可靠的效果,那就启用发送报告。然后根据报告,或者报告未能及时回复产生的超时阈值来决定是否重发。

Appcat 发表于 2014-5-8 15:44:25

N年前的问题了,我居然现在才看到,呵呵{:lol:}
页: [1]
查看完整版本: TC35i AT+CMGS 指令的返回内容疑惑?