|
|
发表:2005/1/18 12:33:57
|
第2楼 |
Re 恋爱百分百
// 发送短消息,仅发送命令,不读取应答 // 输入: pSrc - 源PDU参数指针 int gsmSendMessage(SM_PARAM* pSrc) { int nPduLength; // PDU串长度 unsigned char nSmscLength; // SMSC串长度 int nLength; // 串口收到的数据长度 char cmd[16]; // 命令串 char pdu[512]; // PDU串 char ans[128]; // 应答串
nPduLength = gsmEncodePdu(pSrc, pdu); // 根据PDU参数,编码PDU串 strcat(pdu, "\x01a"); // 以Ctrl-Z结束
gsmString2Bytes(pdu, &nSmscLength, 2); // 取PDU串中的SMSC信息长度 nSmscLength++; // 加上长度字节本身
// 命令中的长度,不包括SMSC信息长度,以数据字节计 sprintf(cmd, "AT+CMGS=%d\r", nPduLength / 2 - nSmscLength); // 生成命令
// TRACE("%s", cmd); // TRACE("%s\n", pdu);
WriteComm(cmd, strlen(cmd)); // 先输出命令串
nLength = ReadComm(ans, 128); // 读应答数据
// 根据能否找到"\r\n> "决定成功与否 if(nLength == 4 && strncmp(ans, "\r\n> ", 4) == 0) { return WriteComm(pdu, strlen(pdu)); // 得到肯定回答,继续输出PDU串 }
return 0; } |
|
|
----------------------------------------------------------- 自强不息,厚德载物! <IMG SRC=http://photo.sohu.com/20041226/Img223649707.jpg>
|
|
|