[原创]关于PDU模式接收短信,千万可别被误导

发送短信的时候,我们是确切地知道何时发送的;而接收数据的时候, 我们则不知道何时数据会到来,因此,在短信到达时,我们需要一种方式来获知它的到来并将其读出来。有两种方式:一是查询,二是触发事件。前一种方式我们不会用的,后一种方式是上选。我们可以预先对GSM模块设置一些参数,那么当它收到短信的时候,就会自动将数据送到串口上,我们就可以接着控制我们的程序去读取它了。

在这里,你必须非常清楚一些概念。不要以为短信到来的时候,GSM模块就一定可以将短信的内容直接送到串口上,然后我们直接读就可以了。如果你这样想,那么只能说你把事情想得太美好。事实上,模块给我们的回复是比较“乱”的,需要做不少处理(例如里面不仅有PDU串的内容,还有其他字符());不仅如此,甚至于很多GSM模块根本就不能在接收到短信的时候自动把PDU串送到串口上!例如,我所使用的GSM模块(它里面用的是西门子MC39i芯片)就是这样一个“弱智”的模块,你要使用事件触发的方式,最多最多只能让它做到:短信到来的时候,它会把短信写入SIM卡中(MC39i唯一的选择就是写存储器,然后再读出来),然后它会送一些提示信息到串口上,这时,你便可以监测到串口有数据来了,然后你再分析串口中数据的格式(里面包含了收到的短信写入了SIM卡上的位置号),然后再去SIM卡上找到那条短信,再读出来。是不是超级麻烦?的确!认了吧!

下面我们来看看怎么做:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值