- 6
- 0
- 约5.28千字
- 约 12页
- 2018-09-17 发布于江苏
- 举报
下面我们列举一些常用的AT指令
下面我们列举一些常用的AT指令:
控制端发送的AT指令
猫回答
指令的功能
备注
AT
OK
通讯握手
AT+CLCC
OK
来电话时有信号输出
串口输出:RING
AT+CMGL=0
读取全部未读过的SMS消息
AT+CMGL=2
列出已有的短信息
AT+CMGL=4
读取全部SMS消息
AT+CMGR=X
读取第X条短消息
AT+CMGF=0
用PDU格式
AT+CMGD=X
删除第X条短消息
AT+CGSN
读取TC35I的序列号
例如:351254004238596
AT+CSCA
显示短信息中心地址
AT+CMGW
写短信息并存储。
ATD051383082087;
拨打051383082087电话
注意需要最后的分号
AT+CNMI=1,1,2
OK
设置收到短消息提示
例如:+CMTI:“SM”,4 4表示手机内短消息数量
???这是用串口调试助手成功发送的中文短信息完整过程,短信中心号码短信接收方号码短信内容:晚上好123 红色表示发送的内容,蓝色表示接收到的数据,黑色表示备注。
AT(回车)通讯握手OKAT+CMGF=0 设置为PDU模式,因为要发送中文汉字OKAT+CMGS=6 发送短消息的字节数 表示可以接收数据0891683108503105F011000B813103265890F10008A90C665A4E0A597D003100320033 包含短信中心、接收方手机号码和短信内容的数据1A 发送结束标志,一定要十六进制大写,不是ASIC码,站长为了这个浪费了3天时间+CMGS: 45
OK 表示第45条短信发送成功!
下面分析这条信息:08——表示短消息中心地址长度;91——表示短消息中心号码类型;68----中国代码3108200905F0——表示短消息房层中心号码;1380 0290 5000103——表示发送短消息的编码方式;0D——表示目的地址长度;91——表示目的地址类型;683199312523F9——表示目的地址,即接收短消息的手机号码3208——表示发送中文字符方式;0C——表示短消息长度;665A4E0A597D003100320033——表示发送中文字符的UNICODE码汉字的中文内码: 665A{晚} 4E0A{上} 597D{好} 0031{1} 0032{2} 0033{3}。
单片机实现短信自动发送
进行短信发送的前提是短信内容的正确编码。经过以上对短信发送过程的分析,可以通过单片机对其进行实现。下面是实现程序例程:
/*-------------------------------------------------------------------------
函数名:PDU_SMS()
功能 :发送短信
参数说明:SMS_Center为短信中心号码 11位
SMS_Telenum为短信接收方的号码 11位
SMS_Context为短信的内容
--------------------------------------------------------------------------------*/
int PDU_SMS(char *SMS_Center, char *SMS_Telenum,
char *SMS_Context,char is_GB)
{
int i,j;
unsigned char len,time;
char lens[3];
time=0;
for(i=0;i300;i++) PDU_Code[i]=PDU_t[i];
/*----------设置短信中心号码--------------*/
for (i = 0, j = 0; i strlen(SMS_Center) / 2; i++)
{
PDU_Code[6+(j++)] = SMS_Center[2 *i + 1];
PDU_Code[6+(j++)] = SMS_Center[2 *i];
}
PDU_Code[6+j++] = F; //在最后补上的F
PDU_Code[6+j] = SMS_Center[strlen(SMS_Center) - 1];
/*---------------------------------------------*/
/*----------设置接收号码--------------*/
for (i = 0, j = 0; i strlen(SMS_Telenum) / 2; i++)
{
PDU_Code[26+(j++)] = SMS_Telenum[2 *i + 1];
PDU_Code[26+(j
原创力文档

文档评论(0)