解决方案 »

  1.   

    哇塞 我居然可以在asp.net版本看到AT命令...
      

  2.   

    我虽然没用过GSM模块 不过AT到是听过一些..比如 AT+RST 或者其他之类的一些命令..所以我建议你先看看AT命令是如何使用的这里然后在使用串口工具来测试下..最终把很长的那个byte装成方法....
      

  3.   

    发送失败原因有几个:
    1、AT+CMGS后跟的参数与实现PDU编码长度不匹配
    2、PDU编码本身出错
    3、延时时间,发送AT指令后要等待应答,这个时间不能过短你的程序里面发送延时只有100毫秒在某些情况下是不够的,可以试着加长。AT+CMGS后的延时在超过2秒算超时,发送PDU编码后可能会有长达30秒的响应时间。另外发PDU和0x1A之间不需要延时
    可以将你生成的编码验证一下看是否正确,以下两个网站对你有帮助
    http://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/online-sms-pdu-decoder/
    http://www.smartposition.nl/resources/sms_pdu.html
      

  4.   

    检查PDU码。提示什么错误信息?
      

  5.   

    在拼接pdu的时候   A008那里
     
              //  string result = String.Format("0011000D91{0}0008A008{1:D2}", phone, message);//这个地方修改一下修改成
         
              string result = String.Format("0011000D91{0}0008A0{2}{1:D2}", phone, message)//08改成要发送的短信的字符长度16进制的试试
     
      

  6.   


    OK了 还真是这样 需要指定两个长度 一个pdu的长度 一个在pdu中指定短信内容的长度