在pdu mod中发送短信获得cms错误304

时间:2014-04-03 10:16:27

标签: qt sms send at-command pdu

我正在尝试使用huawei e173 gsm调制解调器发送短信。在文本模式下一切正常,但我无法弄清楚如何在pdu模式下发送短信。我试图发送简单的消息,说" hellohello"。这是我在Qt设计器中的消息格式(与此主题无关​​,我遇到错误304问题 - PDU模式参数无效):

QByteArray PDUtext;
PDUtext[0] = 0x00;
PDUtext[1] = 0x11;
PDUtext[2] = 0x00;
PDUtext[3] = 0x0b; // Phone number length

PDUtext[4] = 0x91; // International

//Phone: +381 600123456 (83 61 00 21 43 65)

PDUtext[5] = 0x83;
PDUtext[6] = 0x61;
PDUtext[7] = 0x00;
PDUtext[8] = 0x21;
PDUtext[9] = 0x43;
PDUtext[10] = 0x65;

PDUtext[11] = 0x00;
PDUtext[12] = 0x00;
PDUtext[13] = 0xaa; // 4 days validity period

//E8 32 9B FD 46 97 D9 EC 37

PDUtext[14] = 0x0a; // Message length

// Message "hellohello"

PDUtext[15] = 0xe8;
PDUtext[16] = 0x32;
PDUtext[17] = 0x9b;
PDUtext[18] = 0xfd;
PDUtext[19] = 0x46;
PDUtext[20] = 0x97;
PDUtext[20] = 0xd9;
PDUtext[20] = 0xec;
PDUtext[20] = 0x37; 

此消息有什么问题?

命令如下所示:

AT+CMGF=0<CR> // PDU mode

Modem > OK

AT+CMGS=20<CR> // Send with message length
>PDUtext<Ctrl+z>

Modem > +CMS ERROR: 304

1 个答案:

答案 0 :(得分:0)

您的PDU中有两个错误。

1)目的地号码长度不正确

当你使用0C

时,你已经使用了0x0B

2)错误分配字节

PDUtext[20] = 0x97;
PDUtext[20] = 0xd9;
PDUtext[20] = 0xec;
PDUtext[20] = 0x37; 

应该是

PDUtext[20] = 0x97;
PDUtext[21] = 0xd9;
PDUtext[22] = 0xec;
PDUtext[23] = 0x37;