当前位置:   article > 正文

gprs at指令解析 c语言,GPRS测试 AT指令

c语言 at拨号

有人来电

1、接电话,然后自己挂电话

RING

有人来电时终端会收到RING

ATA

在终端输入ATA回车键,接电话

OK

接电话成功,终端收到OK

ATH

在终端输入ATH回车键,挂电话

OK

挂电话成功,终端收到OK

2、直接挂电话

RING

有人来电时终端会收到RING

ATH

在终端输入ATH回车键,挂电话

OK

挂电话成功,终端收到OK

3、接电话,然后被对方挂电话

RING

有人来电时终端会收到RING

ATA

在终端输入ATA回车键,接电话

OK

接电话成功,终端收到OK

NO CARRIER

对方挂电话,终端收到NO

CARRIER

打电话

1、

拨号,先被接听,然后被挂断

ATD15980111121;

在终端输入ATD15980111121;回车键,表示拨打这个号码,语音通信是最后的分号是必须的

OK

拨号成功,终端接受到OK

NO CARRIER

对方挂断,终端接收到NO

CARRIER

2、

拨号,然后直接被对方挂断

ATD15980111121;

在终端输入ATD15980111121; 回车键

NO CARRIER

对方挂断,终端接收到NO

CARRIER

3、

拨号,对方关机

ATD15980111121;

在终端输入ATD15980111121; 回车键

NO CARRIER

对方关机,终端接收到NO

CARRIER

发送文本格式的英文短息

AT

在终端输入AT回车键,测试连接是否正常

OK

连接正常,终端接收到OK

AT+CMGF=1在终端输入AT+CMGF=1回车键,设置为Text模式

OK设置成功,终端接收到OK

AT+CSCS=GSM

在终端输入AT+CSCS=GSM回车键,设置为GSM字符集

OK

设置成功,终端接收到OK

AT+CMGS=15980111121

AT+CMGS=15980111121回车键向,向15980111121发

>

HELLO设置成功终端收到>,再输入发送内容HELLO

其中为ctrl+z,结尾不要回车键

OK

接收文本格式的英文短息

1、

列举未读短信息

AT

在终端输入AT回车键,测试连接是否正常

OK

连接正常,终端接收到OK

AT+CMGF=1

在终端输入AT+CMGF=1回车键,设置为Text模式

OK

设置成功,终端接收到OK

AT+CSCS=GSM

在终端输入AT+CSCS=GSM回车键,设置为GSM字符集

OK

设置成功,终端接收到OK

AT+CMGL="REC

UNREAD"

在终端输入AT+CMGL="REC

UNREAD"回车键,列举未读短息

+CMGL: 8,"REC

UNREAD","+8615980111121",,"

10/10/03,16:12:44+32"

123456

终端接收到短息的内容

OK

列举成功,终端接收到OK

2、

读取第几条短息

AT

在终端输入AT回车键,测试连接是否正常

OK

连接正常,终端接收到OK

AT+CMGF=1

在终端输入AT+CMGF=1回车键,设置为Text模式

OK

设置成功,终端接收到OK

AT+CSCS=GSM

在终端输入AT+CSCS=GSM回车键,设置为GSM字符集

OK

设置成功,终端接收到OK

AT+CMGR=8

在终端输入AT+CMGR=8回车键,读取第8条短息

+CMGR: "REC

READ","+8615980111121",,"10/10/03,16:12:44+32"

123456

终端接收到短息的内容

3、

接到短息的时候就去读取

AT

在终端输入AT回车键,测试连接是否正常

OK

连接正常,终端接收到OK

AT+CMGF=1

在终端输入AT+CMGF=1回车键,设置为Text模式

OK

设置成功,终端接收到OK

AT+CSCS=GSM在终端输入AT+CSCS=GSM回车键,设置为GSM字符集

OK

设置成功,终端接收到OK

AT+CNMI=1,1,0,2,1

在终端输入AT+CNMI=1,1,0,2,1回车键,表示

1直接发送到TE(终端设备)

1如果接收到的SMS存储在ME,则返回+CMTI:,

0小区广播不通知

2如果新的状态报告存储到ME,则返回:+CDSI:,

1清除TA

缓冲区中的结果码

OK设置成功,终端接收到OK

+CMTI: "SM",9

当收到短息时,终端接收到+CMTI:

"SM",9

AT+CMGR=9

在终端输入AT+CMGR=9回车键,读取第9条短息

+CMGR: "REC

UNREAD","+8615980111121",,"10/10/03,16:35:22+32"

1111

终端接收到短息的内容

OK接受成功,终端接收到OK

发中文PDU短息

本文以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的信息:

接收号码:+8615980111121

短信内容:工作愉快!

短信中心号码:+8613800591500

1、短信中心号码处理:用字符串

addr 表示

a、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F即 addr

= "+8613800591500" => addr =

"8613800591500F"

b、

将奇数位和偶数位交换。

=> addr =

"683108501905F0"

c、

将短信息中心号码前面加上字符91,91是国际化的意思

=> addr =

"91683108501905F0"

d、

算出 addr

长度,结果除2,格式化成2位的16进制字符串,16 / 2 =

8 => "08"

=> addr =

"0891683108501905F0"

2、手机号码处理:用字符串

phone

a、将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F

即 phone =

"+8615980111121"

=> phone =

"8615980111121F"

b、将手机号码奇数位和偶数位交换。

=> phone = "685189101121F1"

3、短信息部分处理:用字符串

msg 表示

a、转字符串转换为Unicode代码,例如“工作愉快!”的unicode代码为

5DE54F5C61095FEBFF01,(转换在linux里可用iconv函数实现。)

b、将

msg 长度除2,保留两位16进制数,即 5DE54F5C61095FEBFF01 = 20 / 2 =>

"0A",再加上 msg

=> msg = "0A5DE54F5C61095FEBFF01"

4、组合

a、手机号码前加上字符串

11000D91(1100:固定,0D:手机号码的长度,不算+号,十六进制表示,91:发送到手机为91,发送到小灵通为81)即 phone =

"11000D91" + phone

=> 11000D91685189101121F1

b、手机号码后加上

000800

和刚才的短信息内容,000800也写死就可以了即 phone =

phone + "000800" + msg即11000D91685189101121F1 + 000800 +

0A5DE54F5C61095FEBFF01

=> phone =

11000D91685189101121F10008000A5DE54F5C61095FEBFF01

c、phone 长度除以2,格式化成2位的十进制数即11000D91685189101121F10008000A5DE54F5C61095FEBFF01

=> 50位

/ 2 =>

25

5、所以要发送的内容为

AT在终端输入AT回车键,测试连接是否正常

OK

连接正常,终端接收到OK

AT+CMGF=0

在终端输入AT+CMGF=1回车键,设置为Pdu模式

OK

设置成功,终端接收到OK

AT+CMGS=25

在终端输入AT+CMGS=25回车键,发送长度为25

>0891683108501905F011000D91685189101121F10008000A5DE54F5C61095FEBFF01

结尾不用回车键

OK发送成功,终端接收到OK

接收中文PDU短息

1、

读取第几条短息

AT

在终端输入AT回车键,测试连接是否正常

OK

连接正常,终端接收到OK

AT+CMGF=0

在终端输入AT+CMGF=1回车键,设置为Pdu模式

OK设置成功,终端接收到OK

AT+CSCS=GSM

在终端输入AT+CSCS=GSM回车键,设置为GSM字符集

OK

设置成功,终端接收到OK

AT+CMGR=14

在终端输入AT+CMGR=14回车键,读取第14条短息

+CMGR:

0,,22

0891683108501905F0240D91685189101121F100080101309120852302597D

终端接收到短息的内容

OK

接收成功,终端接收到OK

2、列举未读短信息

AT

在终端输入AT回车键,测试连接是否正常

OK

连接正常,终端接收到OK

AT+CMGF=0

在终端输入AT+CMGF=0回车键,设置为Pdu模式

OK设置成功,终端接收到OK

AT+CSCS=GSM

在终端输入AT+CSCS=GSM回车键,设置为GSM字符集

OK

设置成功,终端接收到OK

AT+CMGL=0在终端输入AT+CMGL="REC UNREAD"回车键,列举未读短息

AT+CMGL=0

+CMGL: 16,0,,22

0891683108501905F0240D91685189101121F100080101309101512302554A

终端接收到短息的内容

OK

接收成功,终端接收到OK

3、接到短息的时候就去读取

AT

在终端输入AT回车键,测试连接是否正常

OK

连接正常,终端接收到OK

AT+CMGF=0

在终端输入AT+CMGF=0回车键,设置为Pdu模式

OK设置成功,终端接收到OK

AT+CSCS=GSM

在终端输入AT+CSCS=GSM回车键,设置为GSM字符集

OK

设置成功,终端接收到OK

AT+CNMI=1,1,0,2,1

在终端输入AT+CNMI=1,1,0,2,1回车键,表示

1直接发送到TE(终端设备)

1如果接收到的SMS存储在ME,则返回+CMTI:,

0小区广播不通知

2如果新的状态报告存储到ME,则返回:+CDSI:,

1清除TA

缓冲区中的结果码

OK

设置成功,终端接收到OK

+CMTI: "SM",17

当收到短息时,终端接收到+CMTI:

"SM",16

AT+CMGR=17

在终端输入AT+CMGR=17回车键,读取第17条短息

+CMGR: 0,,22

0891683108501905F0240D91685189101121F10008010130913134230253D1

终端接收到短息的内容

OK接收成功,终端接收到

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/410563?site
推荐阅读
相关标签
  

闽ICP备14008679号