【已解决】MC39i模块GPRS上网时接收短信问题

[复制链接]
3719|4
 楼主| dorice 发表于 2008-6-20 15:36 | 显示全部楼层 |阅读模式
各位帮帮忙!<br />我用的是MC39i,协议栈用lwIP,现在GPRS上网和发短信都正常,不过还不知道在GPRS上网的同时怎么接收短信?<br />AT+CNMI设为1,1和2,1肯定不行的,因为上网时处于数据模式,模块不会发URC过来,但是设为3,1后也不行,还是没有什么变化。听说会发一个字节的0x00过来,不过我发现所有GPRS数据也有这个,还是无法判断是短信还是GPRS数据包。<br />RING脚处于数据模式时,短信到来不会变化,切换回命令模式后可以收到+CMTI的短信提示。手机拨号RING脚倒是会有反应。<br />现在只有经常用+++和ATO在数据模式和命令模式之间转换,但是这种转换很费时间,+++就要求停留1秒,因为GPRS数据量较大,这样会导致数据丢失。<br />不知道怎么才能知道短信到来,然后才切换会命令模式收短信?<br />网上找了很久,都没有找到很好的解决方法。
chunyang 发表于 2008-6-20 16:25 | 显示全部楼层

这方面需要模块的专门支持,自己是没有什么好办法的

  
 楼主| dorice 发表于 2008-6-20 17:04 | 显示全部楼层

MC39i不支持吗?

那么MC39i是不支持了?还有什么方法加快查询速度吗?现在模式转换需要近2秒钟,太慢了!
chunyang 发表于 2008-6-20 17:47 | 显示全部楼层

没办法,只能这样

  
 楼主| dorice 发表于 2008-6-20 19:50 | 显示全部楼层

好像解决了

我仔细看了看PPP的数据包,发现不可能是0x00开头的,之前收到的应该是数据包中间的数据,我忘了判断一个数据包是否结束。现在设置AT+CNMI=3,1后,每当短信过来时会有一个独立的0x00过来,只要判断收到的只有一个字节的0x00,并且上一个PPP数据包已经处理结束,那么我就认为这个是短信提示信息,切换到命令模式接收短信。暂时没发现有什么问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

13

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部