用AT指令通过RS232发送和接收短信.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用AT指令通过RS232发送和接收短信

用AT指令 通过RS232发送和接收短信 /hfzsjz/article/details/5004015 通常,发送和接收短信的终端都是通过串行接口连接电脑,这类设备用得比较多的是GSM Modem和手机。这类设备通常都支持PDU模式,但仍有少数设备只支持Text模式。 设备硬件连接好以后可以通过发送AT指令测试设备是否连接正确能否正常通讯。在这里我使用Windows自带的“超级终端”工具进行通讯。此工具可以在程序——附件——通讯里面找到,如果没有请确认是否安装了此组件。或者在运行里面输入“hypertrm”也可以快速启动“超级终端”。 以下所有范例均以Siemens M55手机作为终端,有可能跟你设备返回的不同。具体参数清参阅设备相关AT指令集。本手机AT指令集在我主页上有下载。 准备工作: 1、 测试连接:“AT8 ”测试终端是否连接正确。成功后返回“OK”。 2、 设置回显:(此步骤为了测试方便)ATE18 3、 查阅及设置字符集: AT+CSCS=?8 +CSCS: (GSM,UCS2) 说明该终端支持GSM与UCS2两种字符集。一般对于中文环境设置为UCS2 AT+CSCS=UCS28 4、 取得短信中心号码: AT+CSCA? 8 +CSCA: +8613800280500,145 5、 查询并设置SMS格式: 查询:AT+CMGF= 8 返回:+CMGF: (0) 0代表PDU模式。你的设备可能有其他的选项,请参考设备的AT指令集。 设置:AT+CMGF=08 6、 查询并设置短信储存位置: 查询:AT+CPMS=?8 返回:+CPMS: (MT,SM,ME),(MT,SM,ME),(MT,SM,ME) 其中MT表示设备所有可用储存位置。SM代表SIM卡,ME代表机身。 一般设置为:AT+CPMS= MT,MT,MT8 查询短信: 1、 查询具有相同状态的所有短信 指令:AT+CMGL=n 其中n代表0-4的数字。 0——未读得短信。执行命令以后自行变为已读取。 1——已读短信。 2——草稿。 3——已发送短信。 4——全部 返回(例): +CMGL: 76,3,,20 0891683108200805F011620D91683194041338F50000FF0530972D8603 76——序号 3——状态:发送 20——PDU串长度 2、 查询特定序号的短信 指令:AT+CMGR=n8 其中n代表序号 返回(例): +CMGR: 3,,20 0891683108200805F011620D91683195041338F50000FF0530972D8603 3——状态:发送 20——PDU串长度 注意:PDU串长度表示PDU中除去短信中心部分剩下的代码的长度的1/2。例如上述PDU中PDU长度部分为11620D91683195041338F50000FF0530972D8603,40个字符,表示20个字节。 储存PDU 指令: AT+CMGW=[PDU长度] 8 [PDU串] 例如: AT+CMGW=208 0891683108200805F011620D91683195041338F50000FF0530972D8603 注意,输入PDU后按“CTRL+Z”终止。程序中使用0x1A,0x1D作为终止。 返回:+CMGW: 85 85——序号 发送PDU串 1、 发送输入的PDU串 指令: AT+CMGS=[PDU长度] 8 [PDU代码] 2、 发送指定序号的PDU串 指令: AT+CMSS=[序号] 8 接收短信 接收刚收到的短信有两种方法:轮询终端;使用事件 轮询终端可以定期的使用AT+CMGL=0指令读取未读取得指令。方法简单,但许多时候都在做无用功,效率低下,一般不建议采用。下面主要讲解事件法: 指令: AT+CNMI=mode,mt,bm,ds,brf 参数: mode: 0——缓存在终端 1——直接发送到TE mt: 0——接收到新的SMS不返回事件 1——如果接收到的SMS存储在ME,则返回 +CMTI:mem,index 2——除了Class2 SMS,新的SMS直接发送到终端,返回: +CMT:lengthCRLFPDU 3——Class3 SMS使用mt=2的方法返回,其他类型的使用mt=1的方法返回。 bm: 0——小区广播不通知 2——新的小区广播通知,返回 +CBM:lengthCRLFpdu 3——Class3格式的小区广播通知,使用bm=2格式 ds: 0——状态报告不通知 1——新的状态报告通知,返回: +CDS:lengthCRLFpdu 2——如果新的状态报告存储到ME,则返回: +CDSI:mem,index brf: 1——始终为1 例: 一般我们使用A

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档