at指令开发短信发送 求救 急~~~~~~ 高分待送

liangqingxing 2008-09-13 09:52:53
我用短信猫连接串口来发短信,现在用系统的超级终端发送AT指令:at+cmgs="10086" 是可以发送成功的

说明我的设备和串口都没有问题。

但是我用C#程序发送的时候手机就是收不到,请大虾帮我看下是什么原因。

private System.IO.Ports.SerialPort SerialPort1;

SerialPort1.PortName = "COM1";
SerialPort1.BaudRate = 2400;
SerialPort1.Parity = Parity.None;
SerialPort1.DataBits = 8;
SerialPort1.StopBits = StopBits.One;
if (SerialPort1.IsOpen == false)
{
SerialPort1.Open();
}

SerialPort1.Write("AT+CMGS=\"13671514587\"");
// outputStream.write("0x600xa80x590x7d0x000x1a".getBytes());
SerialPort1.Write("短信内容 0x000x1a");[/align]
...全文
230 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqp123 2010-04-14
  • 打赏
  • 举报
回复
SerialPort1.PortName = "COM1";
SerialPort1.BaudRate = 2400;
SerialPort1.Parity = Parity.None;
SerialPort1.DataBits = 8;
SerialPort1.StopBits = StopBits.One;

这段代码有问题,或者短信猫里面的手机卡里的中心号码没设置

我的能发:
SerialPort1.PortName = "COM1";
SerialPort1.BaudRate = 9600;
SerialPort1.Parity = Parity.None;
SerialPort1.DataBits = 8;
SerialPort1.StopBits = Parity.None;
liangqingxing 2008-09-13
  • 打赏
  • 举报
回复
如果我用.net 2.0 中的SerialPort 来发送指令的话,指令编码有什么要求吗?

我上网查了很多资料,就是发不出去。端口打开是没有问题,数据也能写进去,

就是发不出去。我用过海蓝峰电子技术有限公司的smx.ocx控件,打开端口就有问题。

真是无奈了,希望各位大虾能出手相助。谢谢
liangqingxing 2008-09-13
  • 打赏
  • 举报
回复
各位大虾,我把所有的方法都试过了,发不出去,每次我用程序发送完后,用系统的超级终端打开里面就会有乱码数据,

我想是我编码的问题。

谁做过这东西。真是比较郁闷哦

行者无疆-Kevin 2008-09-13
  • 打赏
  • 举报
回复
顶吧.
其实就是调用移动的webservices接口.
看接口有什么特殊要求.
-过客- 2008-09-13
  • 打赏
  • 举报
回复
毕设时做过短信发送,时间久了,也都忘得差不多了

首先是波特率等参数要设对,可以先发个指令看下返回值是否正确,或者自己先写个串口调试的小程序
SerialPort1.Write("AT+CMGC=?\r"); 

发短信记得是要先获取短信中心号,通过编码之后,再发出去的

现在不写代码了,也懒得再研究了,这里有篇文章,楼主可以参考下
http://www.yesky.com/SoftChannel/72342380468109312/20040523/1800310.shtml
liangqingxing 2008-09-13
  • 打赏
  • 举报
回复
难道没有人做过串口通讯嘛???????????????????????????????????????????????????????????????、、、

谢谢各位支持,来者有分
蓝色木 2008-09-13
  • 打赏
  • 举报
回复
不懂
LovingAlison 2008-09-13
  • 打赏
  • 举报
回复
帮你顶起来 这方面一窍不通哦
liangqingxing 2008-09-13
  • 打赏
  • 举报
回复
没人,哎,自己先顶下吧~~~~~~~~~~~~~^_^
LQknife 2008-09-13
  • 打赏
  • 举报
回复
帮你顶
whmjw 2008-09-13
  • 打赏
  • 举报
回复
SerialPort1.BaudRate = 2400;
SerialPort1.Parity = Parity.None;
SerialPort1.DataBits = 8;
SerialPort1.StopBits = StopBits.One;

一般默认的波特率是9600,我做过这方面的,呵
你改一下试试
zhujiechang 2008-09-13
  • 打赏
  • 举报
回复
SerialPort1.BaudRate = 2400;
SerialPort1.Parity = Parity.None;
SerialPort1.DataBits = 8;
SerialPort1.StopBits = StopBits.One;
和控制台比较一下,是不是参数没有设置正确
min_1982 2008-09-13
  • 打赏
  • 举报
回复
学习一下。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧