转:短消息调试笔记

短消息调试笔记
2011-03-15 16:51

******************************短消息调试笔记*******************************************

// AT+CSMS 选择消息业务
AT+CSMS=0                        // SMS 的AT 命令兼容GSM 07.05 Phase 2
AT+CSMS=1                        // SMS 的AT 命令兼容GSM 07.05 Phase 2+

// AT+CMGF 选择消息格式
AT+CMGF?                         // 查询当前值
AT+CMGF=0                         // PDU: 0
AT+CMGF=1                         // TXT: 1

// AT+CMGL 列举短消息,AT+CMGF=0 PDU模式
AT+CMGL=0                        // 接收未读
AT+CMGL=1                        // 接收已读
AT+CMGL=2                        // 存储未发送
AT+CMGL=3                        // 存储已发送
AT+CMGL=4                        // 所有消息

// AT+CMGL 列举短消息,AT+CMGF=1 TXT模式,等于号后前的是字符串
AT+CMGL="REC UNREAD"                // 接收未读
AT+CMGL="REC READ"                // 接收已读
AT+CMGL="STO UNSENT"                // 存储未发送
AT+CMGL="STO SENT"                // 存储已发送
AT+CMGL="ALL"                        // 所有消息

// 删除信息
AT+CMGD=1,4                        // 删除sim卡上已发的和未发的全部短信
AT+CMGD=1,2                        // 删除已读短信

如果你发送一条短信后回复信息 +CNTI:"SM",3 这个3表示的是你现在这个卡上的第三条信息
此时发送AT+CMGR=3就可以读取这一条短信
如果要删除这一条短信的话发送AT+CMGD=3
下面是一些AT+CMGD指令的作用
AT+CMGD=1,0 The message from the preferred message storage at the location 1 is deleted
AT+CMGD=1,1 ALL READ messages from the preferred message storage are deleted
AT+CMGD=1,2 ALL READ messages and SENT mobile originated messages are deleted
AT+CMGD=1,3 ALL READ, SENT and UNSENT messages are deleted
AT+CMGD=1,4 ALL messages are deleted

// 将消息提示该为中断方式。这样在收到短信的时候内容直接用+CMT: 提示出来,不存卡。
AT+CNMI=2,2,0,0,0

       
// 用TEXT模式发短信息流程
AT+CMGF=1\r                        // TXT模式
//AT+CSCA="+8613800512500"        // 写信息中心号码
AT+CSCS="GSM"\r                        // 字符集
AT+CMGS="+8618913179619"\r        // 写手机号
>HELLO                                // 发"HELLO"
1A                                // (ctrl-Z)以十六进制发送

// 用PDU模式发短信息流程
AT+CMGF=0\r                        // pdu模式
AT+CSCS="UCS2"\r                // 字符集
AT+CMGS=                        // 之后跟的是从短消息中心之后的所有字符长度
0891683108502105F0                // 短信息地址
11000D91683155845570F1                // 对方手机号
000800                                // 14
06                                // 要发送的数据长度
4F60597D0021                        // 数据
0x1A                                // (ctrl-Z)以十六进制发送
注: 在发送短信时,SMSC地址可以不要,用00代替。
如发送“你好!”到13554855071.代码如下:
AT+CMGF=0\r
AT+CSCS="UCS2"\r
AT+CMGS=21\r
“0011000D91683155845570F1000801064F60597D0021”
0x1A

********************************************************************************
0891683108502105F011000D91683155845570F1000801064F60597D0021
0891683108502105F0        // 短信息地址
11000D91683155845570F1
000800                        //14
06
4F60597D0021

什么是PDU Mode?

它是发送或接收手机SMS消息的一种方法。消息正文经过十六进制编码后进行传送; PDU发送只能输入十六进制的字符0-9 A-F.


基本的PDU命令:

->读取短消息
        AT+CMGR:
       

->列举短消息
        AT+CMGL:
        

->发送短消息
        AT+CMGS:
       

PDU接收短信格式:
+CMT: ,26
08                        // 地址信息的长度
91                        // SMSC地址格式(TON/NPI),用国际格式号码(在前面加‘+’)
683108500145F1                // SMSC地址13800510541
24                        // 基本参数(TP-MTI/MMS/RP)
0D                        // 回复地址数字个数,共13个十进制数(不包括91和‘F’)
91                        // 回复地址格式(TON/NPI)
688119139716F9                // 回复地址(TP-RA)
00                        // 协议标识(TP-PID)
08                        // 用户信息编码方式(TP-DCS)
90809281543223                // 时间戳(TP-SCTS)        090829 18 45 23 32
06                        // 用户信息长度(TP-UDL)
4F60597D0021                // 用户信息(TP-UD)
********************************************************************************/

 短消息相关指令(转)

短消息相关指令
CSMS
选择信息服务
0兼容GSM07.05 Phase 2 version 4.7.0
1兼容GSM07.05 Phase 2+ version
AT+CSMS=0
+CSMS: 1,1,1

AT+CSMS=1
+CSMS: 1,1,1
SMS-MO
SMS-MT
SMS-CB(小区广播)
全部支持
CNMA
SMS收到确认
CPMS
首选的SMS存储区
SMSIM卡区,BM为内存区,缺省为SM
AT+CPMS=?
+CPMS: (("SM","BM"),("SM"))

AT+CPMS="SM"+CPMS: 3,25,3,25

AT+CPMS="BM"+CPMS: 0,20,3,25
1)为读和删的信息
2)为写和发的信息


已用1,总共1,已用2,总共2 
CMGF
设置SMS编码方式(1文本格式,0PDU格式)
CSAS
存储CSCACSMP的相关信息于E2PROM
CRES
E2PROM中恢复相关信息
CSDH
显示文本格式参数(1为显示,0为不显示)
AT+CDSH=1
+CMT: "+8613501154105",,"01/09/12,18:04:09+32",145,4,0,0,"+8613800100500",145,3
AAA

AT+CSDH=0
+CMT: "+8613501154105",,"01/09/12,18:04:48+32"
AAA
相关的信息有+CMTI,+CMT,+CDS,+CMGR,+CMGL

左边两个例子同样是发送和接收AAA为内容的SMS
CNMI
SMS的输出方式
AT+CNMI=2,2,0,0,0
+CMT: "+8613501154105",,"01/09/13,11:04:09+32"
AAA

AT+CNMI=2,1,0,0,0
+CMTI: "SM",4
其中第2位决定SMS直接输出还是保存于"SM"中

左边两个例子同样是发送和接收AAA为内容的SMS,为0则不接收
CMGR
读取存于"SM"中的信息

AT+CMGR=1+CMGR: "REC READ", "+8613501154102",,"01/08/14,10:46:47+32"
X000E8

AT+CMGR=4+CMGR: "REC UNREAD", "+8613501154105",,"01/09/13,11:02:06+32"
AAA

AT+CMGR=2+CMGR: "REC READ", "+8613501154105",,"01/08/23,16:32:34+32"
DCS format error
at+cmgf=0;+cmgr=2
+CMGR: 1,,26
0891683108100005F0040D91683105114501F500081080326123432306004400460044
读取第1
来源13501154102



读取第4
来源13501154105



读取第2条时遇到DCS格式错误,转成PDU格式后,读出数据
来源13501154105
CMGL
信息列表,(+CMGL:索引,类型,,长度<内容>)
AT+CMGL=4+CMGL: 1,1,,26
0891683108100005F0040D91683105114501F20000108041016474230658180C56C401
+CMGL: 2,1,,26
0891683108100005F0040D91683105114501F500081080326123432306004400460044
+CMGL: 3,1,,32
0891683108100005F0040D91683105114501F50008108032617492230C003400310032003100320033
+CMGL: 4,1,,23
0891683108100005F0040D91683105114501F500001090311120602303C16010




类型
"REC UNREAD" 0
"REC READ"     1
"STO UNSENT"   2
"STO SENT"      3
"ALL"           4
CMGS
发送SMS,可按文本方式或PDU方式
AT+CMGF=1OK
AT+CMGS=13501154105> AAA<^Z>
+CMGS: 204
OK

AT+CMGF=0OK
AT+CMGS=18
>0011000D91683105114501F500040103414141<^Z>
+CMGS: 205
OK

按文本方式发送





PDU方式发送
CMGW
写信息到存储器
AT+CMGW="+8613501154105"> AAA<^Z>
+CMGW: 5
OK

AT+CMGW=lengh><CR><pdu><^Z
按文本方式写入




PDU方式写入
CMSS
从存储器中发送信息
AT+CMSS=5+CMSS: 207
OK

+CMT: ,23
0891683108100005F0040D91683105114501F500001090316163932303C16010

AT+CMSS=5,+8613501154102+CMSS: 210
OK
发送存储器中的第5条信息


收到信息


也可将第5条信息发送到指定用户
CSMP
设置文本格式参数,+CSMP:<fo><vp><pid><dcs
AT+CSMP?
+CSMP: 1,167,0,0

OK
其中为信息有效期,167默认
0143:(VP1)*5分钟
14316712小时+(VP143)*30分钟
168196:(VP166)*1
197255:(VP192)*1
CMGD
删除信息,ATCMGD=<索引>
CSCA
短信息服务中心号码

at+csca?
+CSCA: "+8613800100500",145
OK
北京短信息服务中心号码
CSCB
选择小区广播信息类型
WCBM
小区广播信息标识符
WMSC
信息状态更正
WMGO
信息重写











转载于:https://www.cnblogs.com/babykick/archive/2011/03/25/1995980.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: an1078是一篇有关微控制器调试的技术文档,文中介绍了一些常用的调试方法和技巧。在进行微控制器调试时,首先需要确定是否需要使用硬件调试工具。如果需要,可以使用示波器、电路板、信号发生器等工具进行调试。其次,需要对程序进行逐步调试。可以通过设置断点、打印变量、观察寄存器等方式进行调试。其中,断点的设置是一个非常重要的调试技巧,可以在程序执行的某个关键点暂停程序,以便观察程序的行为和状态。除此之外,还可以使用仿真工具进行调试。通过仿真工具,我们可以模拟程序运行过程,定位和解决程序中的问题。最后,当出现问题时,需要进行错误分析。可以通过查看程序代码、查看错误信息等方式进行分析。除了以上方法外,还有其他一些调试技巧,例如调试日志、覆盖率测试等。总之,在进行微控制器调试时,需要充分利用调试工具和技巧,以便快速、准确地定位和解决问题。 ### 回答2: an1078是一个使用ST-Link调试调试STM32F1xx系列微控制器的应用笔记。这份调试笔记主要涵盖了使用ST-Link调试调试STM32微控制器的基本步骤和注意事项。 首先,使用ST-Link调试器进行调试之前,需要先进行硬件连接。连接方法是将ST-Link调试器连接到STM32微控制器的SWD端口上,通过SWD接口进行通信。 其次,需要在调试软件中进行一些基本的设置,例如选择正确的芯片型号和验证连接。同时,还需要构建正确的调试环境,包括设置断点,监视变量和寄存器等。 在进行实际的调试过程中,需要注意一些常见的问题,例如在调试过程中遇到的编程错误和硬件问题。此外,还有一些与特定芯片型号相关的问题,例如编程失败或调试操作失败。 最后,调试完毕后,需要断开连接并保存所有的设置和调试数据。如果需要重新进行调试,可以再次连接并加载之前保存的数据。 综上所述,an1078调试笔记为STM32F1xx系列微控制器的调试提供了简明易懂的操作指南,可以帮助工程师快速进行调试并解决常见的问题。 ### 回答3: an1078是一个调试笔记,主要讲述了在调试过程中可能会遇到的问题和解决方法。调试是软件开发过程中不可或缺的一部分,是确保软件程序能够正常运行的关键步骤。 在调试过程中,可能会遇到很多问题,比如程序崩溃或出现错误信息、程序响应过慢、执行结果不符合预期等等。在这些问题出现时,开发人员需要对程序进行逐步调试,找出问题所在并进行修复。 an1078提到了一些常见的调试技巧,如打印调试信息、使用断点进行调试、分离模块进行调试、使用调试器进行调试等等。这些技巧可以帮助开发人员快速定位问题并进行解决。 此外,an1078还提到了一些调试工具,如gdb、Valgrind、strace等等,这些工具可以帮助开发人员更加高效地进行调试和分析。 总之,在软件开发过程中,调试是一项非常重要的任务,需要开发人员进行认真对待。通过采用一些有效的调试技巧和工具,可以帮助开发人员提高调试效率,从而缩短开发周期,提高软件开发的质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值