当前位置:  编程技术>.net/c#/asp.net

CDMA 猫用AT命令发中文短信(C#)

    来源: 互联网  发布时间:2014-10-14

    本文导语:  CDMA猫真是!@#¥#%(*,连PDU都不支持,只能发文本短信。而且发中文短信居然是UNICODE,无法在超级终端里输入。只能写程序。 网上这个问题谈论地比较多,做起来比较累,还偶尔会出乱码。还是将C#的成功代码帖一下吧。 转...

CDMA猫真是!@#¥#%(*,连PDU都不支持,只能发文本短信。而且发中文短信居然是UNICODE,无法在超级终端里输入。只能写程序。
网上这个问题谈论地比较多,做起来比较累,还偶尔会出乱码。还是将C#的成功代码帖一下吧。
转载请注明来源
代码如下:

void SendCHNSms(string content,string phone)
{
//中文CDMA发送,UNICODE编码字节
byte[] b = Encoding.BigEndianUnicode.GetBytes(content);
//CDMA的AT命令手机号码前面不能加86,否则虽然显示成功发送,但短信中心回应错误代码5
if(phone.IndexOf("86")==0)
{
phone = phone.Substring(2);
}
//假设是COM3口
SerialPort sp = new SerialPort("com3");
//和GSM猫不同,波特率是115200,这个问题困扰了很久的说
sp.BaudRate = 115200;
sp.Open();
//设置中文短信
sp.Write("AT+WSCL=6,4r");
Thread.Sleep(500);
//设置文本格式短信
sp.Write("AT+CMGF=1r");
Thread.Sleep(500);
//设置发送的号码和发送内容字节长度
sp.Write("AT+CMGS="" + phone + ""," + b.Length + "r");
Thread.Sleep(500);
//写入
sp.Write(b, 0, b.Length);
Thread.Sleep(500);
//写入CTRL+Z结束短信内容,注意在UNICODE模式下需要两个字节,这个也是不能在超级终端下操作的原因
byte[] b2 = new byte[] { 0x00, 0x1a };
sp.Write(b2, 0, b2.Length);
sp.Close();
}

5月15日
【原创】CDMA猫用AT命令发中文短信(C#)

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • cdma拨号问题,解决了,要多分你说了算,决不食言!!!!!!!!
  • 怎样在arm上实现cdma无线上网?
  • CDMA Modem 短信问题 WISMO
  • linux iis7站长之家
  • 有人在LINUX下用过CDMA1x 网卡么?直接就是插在PCMIA上的那种,不关USB的事,50分求助!
  • ARM板上实现cdma发送短信
  • android2.3.5 CDMA/EVDO拨号APN解决方案
  • pppd cdma 如何上网


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3