求使用C# serialport接受短信的解决办法,最好有代码! 你发送AT+CNMI=?之后把结果贴一下,看看你的模块是不是可以直接将消息转发到TE,如果可以的话不用每次从SIM卡读取。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 发送AT+CNMI=? 会得到+CNMI:(0-3),(0-3),(0-3),(0-2),(0-1) 在初始化后先发送AT+CNMI=2,2,0,0,0使串口保持读取状态,然后给短信猫发送一条短信,看看短信内容能否直接被串口接收到.收到的短信内容应该是以0891开头. 发送了好几条短信,每次收到的内容只有红色的部分是一样的,其他都不一样了。下面是一条完整的短信+CMT: ,4407683108304745F3000D91688137183822F6000821700201023023184F60597D597D8FD80020521A521A597D597D597D5E724E56 发送了几条不同的短信每次收到的内容都不一样只有红色部分是一样的下面是一天完整的短信+CMT: ,4407683108304745F3000D91688137183822F6000821700201023023184F60597D597D8FD80020521A521A597D597D597D5E724E56 static void Main(string[] args) { DateTime dt = fsshijian("2170020102"); Console.WriteLine(dt); string s = "4F60597D597D8FD80020521A521A597D597D597D5E724E56"; byte[] b = new byte[24]; for (int i = 0; i < 24; i++) b[i] = Convert.ToByte(s.Substring(i * 2, 2), 16); string mmsg = Encoding.BigEndianUnicode.GetString(b); Console.WriteLine(mmsg); Console.ReadLine(); } static DateTime fsshijian(string sj) { DateTime dt = new DateTime(); if (sj.Length == 10) { char* ca = stackalloc char[16]; ca[0] = '2'; ca[1] = '0'; ca[2] = sj[1]; ca[3] = sj[0]; ca[4] = '/'; ca[5] = sj[3]; ca[6] = sj[2]; ca[7] = '/'; ca[8] = sj[5]; ca[9] = sj[4]; ca[10] = ' '; ca[11] = sj[7]; ca[12] = sj[6]; ca[13] = ':'; ca[14] = sj[9]; ca[15] = sj[8]; DateTime.TryParse(new string(ca, 0, 16), out dt); } return dt; }时间:2012/7/20 10:20:00短信内容:你好好还 刚刚好好好干乖 楼上的lizhibin11 真是强悍啊!这个问题解决了,但我还有很多疑问,比如:怎么读取收到的全部短信? 怎么从sim卡怎么读短信?另外对于频繁的接受、发送短信,从稳定型上考虑,有什么要注意的地方。发短信的时候,又能接收短信怎么做好?想再听些建议,有源码更好了!QQ群:46958187 欢迎这方面的新手、老手前来交流马上结贴去,谢谢了! 是的,这个小于70个汉字的中文短信仅仅是操作短信猫的一小部分,其他问题还相当繁杂,比如:收发英文短信,涉及7-bit编码收发汉字超过70,英文超过160的短信接受的同时发送,怎么保证成功率等。回头我发私信给你发代码,论坛盛不下。 关于listview排序的问题 有个问题想不通,想来问下各位啊 当前上下文不存在名称Encrypt DataSet排序 Excel公式按照制定的样式导入数据库 超难 100分 关于窗体继承 动态站点地图问题 关于Cookie的问题,难以理解,请高手来解答。 ImmGetContext 返回 0? C# 如何在DataSet里的某列数据做为查询条件并另一个表的数据进来?? 把某些资源放在服务器上,让别人下载,为什么我删除服务器上的文件,别人还能下载 c# winform 获取局域网其他电脑上一张图片
会得到
+CNMI:(0-3),(0-3),(0-3),(0-2),(0-1)
使串口保持读取状态,然后给短信猫发送一条短信,看看短信内容能否直接被串口接收到.收到的短信内容应该是以0891开头.
每次收到的内容只有红色的部分是一样的,
其他都不一样了。
下面是一条完整的短信+CMT: ,44
07683108304745F3000D91688137183822F6000821700201023023184F60597D597D8FD80020521A521A597D597D597D5E724E56
每次收到的内容都不一样
只有红色部分是一样的
下面是一天完整的短信
+CMT: ,44
07683108304745F3000D91688137183822F6000821700201023023184F60597D597D8FD80020521A521A597D597D597D5E724E56
static void Main(string[] args)
{
DateTime dt = fsshijian("2170020102");
Console.WriteLine(dt);
string s = "4F60597D597D8FD80020521A521A597D597D597D5E724E56";
byte[] b = new byte[24];
for (int i = 0; i < 24; i++)
b[i] = Convert.ToByte(s.Substring(i * 2, 2), 16);
string mmsg = Encoding.BigEndianUnicode.GetString(b);
Console.WriteLine(mmsg);
Console.ReadLine();
}
static DateTime fsshijian(string sj)
{
DateTime dt = new DateTime();
if (sj.Length == 10)
{
char* ca = stackalloc char[16];
ca[0] = '2';
ca[1] = '0';
ca[2] = sj[1];
ca[3] = sj[0];
ca[4] = '/';
ca[5] = sj[3];
ca[6] = sj[2];
ca[7] = '/';
ca[8] = sj[5];
ca[9] = sj[4];
ca[10] = ' ';
ca[11] = sj[7];
ca[12] = sj[6];
ca[13] = ':';
ca[14] = sj[9];
ca[15] = sj[8];
DateTime.TryParse(new string(ca, 0, 16), out dt);
}
return dt;
}时间:2012/7/20 10:20:00
短信内容:你好好还 刚刚好好好干乖
这个问题解决了,但我还有很多疑问,比如:
怎么读取收到的全部短信? 怎么从sim卡怎么读短信?
另外对于频繁的接受、发送短信,从稳定型上考虑,有什么要注意的地方。
发短信的时候,又能接收短信怎么做好?想再听些建议,有源码更好了!QQ群:46958187 欢迎这方面的新手、老手前来交流
马上结贴去,谢谢了!
收发英文短信,涉及7-bit编码
收发汉字超过70,英文超过160的短信
接受的同时发送,怎么保证成功率等。
回头我发私信给你发代码,论坛盛不下。