CDMA发中文短消息是直接发送其Unicode代码
例如:发送中文短消息“您好”其相应Unicode 编码:0x60a8 0x597d
AT+WSCL=6,4 CDMA不支持PDU 好比是GSM的PDU模式。 AT+WSCL=1,2 好比是GSM的TEXT模式。
AT+CMGS="13*********",10
0x600xa80x590x7d0x000x1a
返回代码:
+CMGS:N 表示成功发出,N 为序号。
注:程序中发送的时候应该是发送数据0x60,0xa8,0x59,0x7d,对于中文短消息其中的控制字
符也必须用其UNCODE 代码表示。消息内容的结束则以结束符来做标记,所以它的结束符
也应该是UNICODE 格式的。即在超级终端中用此种方式是无法发送成功的,因为从键盘键
入的并非UNICODE 格式,仅ASCII 码而已。在程序中正确的结束符应该是0x00 0x1a;
在手机号码后面最好加上短消息内容长度。
不是把中文转换成的一串unicode 码直接扔给串口,而是把每个汉字转换成16进制的4个字符转换成一个ascii码。
----------------------------------------------------------------------------------------------------
但是我按照上述方法,发送短信。提示是发送成功,但对方收不到短信。
我直接读取CDMA短信猫中的短信,也是乱码,应该是ASCII转成UNICODE,但是显示不了正常的信息。
WritePort(FhndComm,'AT+CMGF=1' + #13); 设为TEXT模式,CDMA不支持PDU
Sleep(200); 延时,这是DELPHI的语法
WritePort(FhndComm,'AT+WSCL=6,4' + #13);选择中文语言
Sleep(200);
指定发送手机号,和信息宽度,宽度一定要,省去就发送不行,不知道为什么!?
WritePort(FhndComm,'AT+CMGS='+'"'+'13938225510'+'"'+',6'+#13);
Sleep(200);
WritePort(FhndComm,#$60+#$A8+#$59+#$7D+#$00+#$31);发送信息为“您好1”
延时1000毫秒后读串口返回OK,手机接收到汉字!!
如果您还想了解更多有关短信猫的内容,请联系:赵先生
电话:400-050-1096 网址:www.sendsms.com.cn
QQ:1170923055 E-mail:service@mailer.com.cn/zhaozh@mailer.com.cn
网友评论