这几天弄串口猫收发短信,程序里用SerailPort类操作串口,发送"AT"指令可以正常返回"OK";但在使用"AT+CMGR=n"是渎不到短信,总是返回"ERROR".
还有点不明白的是,别人向移动中心发一条短信,串口猫是直接接收短信存储到了SM卡上,还是在我发"AT+CMGR=n"指令时到达手机上呢?希望高手能给点建议。能提供相应的代码更好了!先谢谢大家了!

解决方案 »

  1.   

    发送短信时出现如下错误
    +CMS ERROR: 512
    网上搜索了下,如下回答:
    表示您的GSM MODEM在发送短消息的同时它收到了新的短消息,发送短消息被拒绝,您需要重新发送此条短消息。 
    我重发也没用,不知道怎样处理。在程序里是不是要进行些设置。请大侠们指点
      

  2.   

    什么动态链接库?我用usb转串口的链接线把电脑和串口猫连接起来,发送at指令返回OK,说明串口已通,就是在发送短信时返回上面的错误。不知道怎么回事?    private void SendPdu(string mobile, string message)
            {
                string PduData = "";
                string CMGS_Lenth = "";
                CMGS_Lenth = (message.Length * 2 + 15).ToString().Trim();  //发送短信息十进制长度与规约数据长度和,全部按照中文发
                if (CMGS_Lenth.Length == 2)
                {
                    CMGS_Lenth = "0" + CMGS_Lenth;
                }
                PduData = "AT+CMGS=" + CMGS_Lenth;
                sp.Write(PduData + "\r");
                Thread.Sleep(200);
                PduData = PduStr(mobile, message);
                sp.Write(PduData+"\x01A\r");
                Thread.Sleep(200);
                //sp.Write(((char)26).ToString() + "\r");//一定要分开发        }不知道错在哪里了?短信怎么也发布出去!!
      

  3.   

    直接用at指令会有很多麻烦的细节问题,Edisonsmsgw.ocx这个现成控件可以兼容不少型号的短信猫,可以下载试试