QT串口发送SMS中文短信--编码

串口发送SMS中文短信步骤

 

1.设置SMS格式:发送指令 AT+CMGF=0 (0为PDU格式格式,1为Text模式)

qStrCmd= "AT+CMGF=0\r";
myCom->write(qStrCmd.toAscii());


2.发送短信长度:发送指令 AT+CMGS=length

int iLength=strlen(m_SendCont.toStdString().c_str())/2;     
qStrCmd=QString("%1%2\r").arg("AT+CMGS=").arg(iLength-9);
myCom->write(qStrCmd.toAscii());


3.发送短信内容:

myCom->write((m_SendCont+"\x01a").toStdString().c_str());


SMS编码

08 91 683108501905F0 11 00 0d 91 685158191026F4 00 08 01 06 60a8597d0021(您好!)

 

1、SCA:

08                                             服务中心的电话号码长度(默认00 将读取SIM 中设置的SCA

91                                             短消息中心地址的类型,常用为 0x91

683108501905F0            短信服务中心号码

 

2、PDU Type:11    

协议数据单元类型

 

3、MR:00

Message Reference

 

4、DA 接收方地址 :0d 91 685158191026F4    

0d 接收方电话号码长度

91 表国际

685158191026F4   号码加86 

 

5、PID协议标识 (Protocol-Identifier):00

 

6、DCS 数据编码方案:08    

参数表示用户数据(UD)采用什么编码方案

 

7、VP 信息有效期:01

      

8、UDL 用 户 数 据 长 度:06

参数表示消息在SMSC中不再有效的时长

 

9、UD 用 户 数 据 :60a8597d0021

编码类型为USC2(16bit)

 

注:测试时,发送地址为10086时,SCA不能为默认00

 AT+CMGS的参数<length>是从PDUType部分开始计算PDU的长度,不包括SCA的长度。

源码下载:http://download.csdn.net/detail/wyz365889/4431313

你可能感兴趣的:(测试,qt,reference,sms,电话)