首先先确认短信格式是否为TEXT
QString str = QString("AT+CMGF?\r");
serialport->write(str.toLatin1());
串口返回:
\r\n+CMGF: 0\r\nOK\r\n
如果为0则为PDU模式
需要设置为TEXT模式
如果为1,则为TEXT模式
设置TEXT模式:
QString str = QString("AT+CMGF=1\r");
serialport->write(str.toLatin1());
串口返回:
\r\nOK\r\n
返回OK设置成功
返回ERROR则设置错误
开始发送短信
先设置电话号码:
// phoneNumber 为11位电话号码
QString str = QString("AT+CMGS=\"+86%1\"\r").arg(phoneNumber);
serialport->write(str.toLatin1());
串口返回
\r\n>
注意>后有一个空格
这时候串口发送你的短信内容
然后发送0x1A结束
char byte[2];
byte[0] = 0x1A;
byte[1] = '\r';
serialport->write(byte);
串口返回
\r\n+CMGS: 242\r\nOK\r\n