当前位置: 代码迷 >> Wireless >> 3g卡或者GPRS 处于online data 模式上 收不到新短信提示,怎么办 的?
  详细解决方案

3g卡或者GPRS 处于online data 模式上 收不到新短信提示,怎么办 的?

热度:727   发布时间:2013-02-26 00:00:00.0
3g卡或者GPRS 处于online data 模式下 收不到新短信提示,怎么处理 的??
请教个问题:3g卡或者GPRS 处于online data 模式下 收不到新短信提示,怎么处理 的??
如何在拨上号后仍然可以正常接收到新短信提示?几种cnmi的设置都试过,不行,只要拨上号后,就无法收到短信到达提示。





------解决方案--------------------------------------------------------
短信中心号码 设置正确吗?
------解决方案--------------------------------------------------------
楼主可以下载我上传的:
华为EM310 无线模块 AT命令手册
http://download.csdn.net/source/1888329

里面有非常详细的说明:
消息接收和读出命令
5.4.1 给TE 指示新消息:AT+CNMI
当TE 处于在用状态时(如:DTR 信号处于“ON”状态),使用设置命令,可设置新消
息如何从网络侧发送到TE。若TE 处于待用状态(如:DTR 信号处于“OFF”状态),
消息接收流程应该按照GSM 03.38 的规定。
若 DTR 信号不可用或信号状态被忽略(V.25ter 命令:&D0),可使用+CNMA 确认流程
确保短消息的可靠传输。
“选择消息服务”命令+CSMS 应该用来检测ME 是否支持接收SM 和CBM,并决定直
接发送到TE 的消息是否需要确认(请参考+CNMA 命令)。

新消息确认:AT+CNMA
使用执行命令,可确认是否正确接收新消息(SMS-DELIVER 或
SMS-STATUS-REPORT),该新短消息是由MT 直接发送到TE 的。

通过 AT+CNMA 给出短信确认需要满足2 个条件:通过AT+CSMS=1,将<service>设为1;通过
AT+CNMI=,2,将<mt>设为2 或者AT+CNMI=,,1,将<ds>设为1。
在满足上述 2 个条件后,如果在收到短信后没有通过AT+CNMA 给出确认,CNMI 的参数<mt>
和<ds>会被重至为0,同时短信收发会受影响。
------解决方案--------------------------------------------------------
模块能够收到上来的消息,但上网时端口处于数据模式。有些模块只是没有将提示信息送到串口,好象也有些模块是可以自动切换的。
------解决方案--------------------------------------------------------
GPRS拨号的时候串口被占用了,可以在拨号之前设置为CNMI=2,1,0,0,0 拨号结束后再去SIM卡里面读取短信。要是一直用CNMI=2,2,0,0,0 有可能会丢失短信。要是CDMA的就好办,因为CDMA的收到短信要回复一个ACK,要是没有回复的话网关会一直重发。
------解决方案--------------------------------------------------------
你在拨号连接网络以后再设置一次cnmi 就可以了!
  相关解决方案