打印
[技术讨论]

SIM800C/A7680C 接收的短信格式 怎么判断是PDU还是TEXT?

[复制链接]
569|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lpx280666373|  楼主 | 2022-4-6 09:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
sim800C/A6780C 短信收发问题:
发送都为TEXT模式,AT+CMGF=1;
英文短信:
AT+CSCS="IRA";
AT+CSMP=17,167,0,0;
AT+CMGS="phoneNo.(text)";  
>textContent(ctrl+z);  
中文短信:
AT+CSCS="UCS2";
AT+CSMP=17,167,0,8;
AT+CMGS="phoneNo.(UCS2)";
>pduContent(ctrl+z);
发送完成 中文短信  设置成 AT+CSCS="IRA"; 格式,确保接收到的短信是text格式;
但是现在遇到的问题是,有时候接收到的短信格式是PDU格式,都是以 +CMT: 形式来的,不知道该怎么判断这条信息是PDU格式的。
举实际例字如下:
接收text格式短信:+CMT: "+8615244778348","","22/03/31,09:19:08+32"
                            100240min
接收pdu格式短信:+CMT: "",23
                            0891683108401505F0040D91685142748788F80000223052215261230331D90C
      两种格式短信都是 以 +CMT:""格式来的,没想明白改怎么判断按照哪种格式解析(不是解析pud短信内容)?
      肉眼能辨别出来的不同就是,接收pdu格式的短信的  <+CMT: "" >  的第一个双引号内是空的。感觉通过这个信息来鉴别是pdu格式的短信不太可靠(还是我想多了,按这种方法就可以)。
     还一种想到的办法是接收到短信先缓存起来,用AT+CMGF?来查询返回的是 1 还是 0,是0 按pdu格式信息来解析。
     希望能给个提示! 拜谢了。主要是想解出发送方的号码,好知道给谁回复信息。
"0891683108401505F0040D91685142748788F80000223052215261230331D90C"
08 SMSC地址信息的长度;
91 SMSC地址格式
683108401505F0 SMSC地址;
685142748788F8 发送方号码;
.
短息内容 7bit 或usc2   

使用特权

评论回复

相关帖子

沙发
lpx280666373|  楼主 | 2022-4-8 16:28 | 只看该作者
+CMT: [<alpha>],<length><CR><LF><pdu> (PDU mode enabled)
+CMT: <oa>,[<alpha>],<scts>
[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data> (text mode enabled; about parameters in italics, refer Command Show Text Mode Parameters +CSDH).

<alpha> String type(string should be included in quotation marks) alphanumeric representation of <da> or <oa> corresponding to the entry found in MT phonebook;

使用特权

评论回复
板凳
jslkz| | 2022-8-18 11:40 | 只看该作者
关于A7680C的技术问题可以发邮件ABC_6868@126.COM,收到会尽快回复。

使用特权

评论回复
地板
lpx280666373|  楼主 | 2022-10-31 17:08 | 只看该作者
jslkz 发表于 2022-8-18 11:40
关于A7680C的技术问题可以发邮件,收到会尽快回复。

好的,谢谢您。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

113

帖子

2

粉丝