请教个问题:3g卡或者GPRS 处于online data 模式下 收不到新短信提示,怎么处理 的??
如何在拨上号后仍然可以正常接收到新短信提示?几种cnmi的设置都试过,不行,只要拨上号后,就无法收到短信到达提示。
当然,要不然怎么可以拨上号?怎么可以发短信?我的问题是,在拨上号后,也就是处于online data模式下,短信到达时串口不能收到提示,一旦断开后,就可以收到短信到达的提示,why?如何处理?为什么huawei提供的软件可以在发送数据的时候接收到短信?它是怎么处理的?
楼主可以下载我上传的:
华为EM310 无线模块 AT命令手册
http://download.eeworld.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,将设为1;通过
AT+CNMI=,2,将设为2 或者AT+CNMI=,,1,将设为1。
在满足上述 2 个条件后,如果在收到短信后没有通过AT+CNMA 给出确认,CNMI 的参数
和会被重至为0,同时短信收发会受影响。
一般对应的GPRS模块或者3G模块 都好像有对应的AT指令吧。
当然也可能借助硬件,
模块能够收到上来的消息,但上网时端口处于数据模式。有些模块只是没有将提示信息送到串口,好象也有些模块是可以自动切换的。
GPRS拨号的时候串口被占用了,可以在拨号之前设置为CNMI=2,1,0,0,0 拨号结束后再去SIM卡里面读取短信。要是一直用CNMI=2,2,0,0,0 有可能会丢失短信。要是CDMA的就好办,因为CDMA的收到短信要回复一个ACK,要是没有回复的话网关会一直重发。
是WCDMA的USIM卡,串口不可能被占用,因为拨号和CMD不是使用的同一串口,一般的3G卡driver起来后,都会有3个串口,准备看一下3楼的意见。
面向大陆地区:我司代理WAVECOM 系列模块,可能提供全供全方面的技术支持(硬/软/DEMO测试板/转接板)
同时我司还代理SST FLASH.
可以为贸易商备货,绝对优势!!
可提供原厂代理证
新加坡/香港/深圳/广州有分公司
诚心长久配合的请联系,非诚勿扰!
QQ:1109321905(请注明)
13554943187
By kavin (钟庆福)
NO,我用的是联通的wcdma,不能收到短信,后来发现是由于网络问题导致的,有时会在带宽占用的时候busy,收不到。
你在拨号连接网络以后再设置一次cnmi 就可以了!