d246.bmp.txt

来自「Visual C++通信编程实例」· 文本 代码 · 共 38 行

TXT
38
字号
// ECHO OFF
WriteComm("ATEO\r", 5);
ReadComm(ans, 128);
// PDU模式
WriteComm("AT+CMGF=O\r", 10);
ReadComm(ans, 128);
//将模块状态设置为SMS状态
GSM_MODE= GSM_SMS_MODE;
return TRUE;
2) GSM发送短消息命令函数:
246
//发送短消息,仅发送命令,不读取应答
/,输入:pSrc -源PDU参数指针
int gsmSendMessage(SM_PARAM* pSrc)
{
    int nPduLength;    ,/PDU串长度
    unsigned char nSmscLength;,,SMSC串长度
    int nLength;    ,,串口收到的数据长度
    char cmd[161;    /,命令串
char pdu[5121;
char ans[128J;
//PDU串
ff虚答卑
nPduLength= gsmEncodePdu(pSrc, pdu);    //根据PDU参数,编码PDU串
strcat(pdu, "\xOla");  /,以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); 11读应答数据
,/根据能否找到”、ru>”决定成功与否
if(nLength==4&&strncmp(ans,”忪”,4)=0)
{
    return WriteComm(pdu,strlen(pdu》;    //得到肯定回答,继续输出PDU串

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?