有在Wpf中使用过串口通信的没?wpf中能使用MSCOM吗?

Jane_sl 2012-06-07 02:54:18
我现在使用的是serialport进行的串口通信,使用的BCC校验,用按钮向串口发送单触点消息,有时需要点击两三次PLC才会响应,各位有遇到过这种情况吗?
...全文
334 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jane_sl 2012-07-10
  • 打赏
  • 举报
回复
哎!无人能解吗?
Jane_sl 2012-06-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
“很不可靠”可以百分百地判定是你程序问题。
[/Quote]请问你在WPF上实现过吗?我把代码贴上来帮我检查一下好吗?
if (serialPort1.IsOpen)
{
//清空缓存
serialPort1.DiscardInBuffer();
serialPort1.DiscardOutBuffer();
char[] chars = { '%', '0', '1', '#', 'W', 'C', 'S', 'R', '0', '3', '2', '0', '1' };
byte[] message = new byte[chars.Length + 3];
//字符转换成ASCII码
byte[] Str = Encoding.ASCII.GetBytes(chars);
message = sendData(Str);//获取校验码(message=chars[]+两个字节的校验码+回车)
serialPort1.Write(message, 0, message.Length);
Thread.Sleep(300);
//serialPort1.Close();
}

if (serialPort1.IsOpen)
{
Thread.Sleep(100);
//清空缓存
serialPort1.DiscardInBuffer();
serialPort1.DiscardOutBuffer();
char[] chars = { '%', '0', '1', '#', 'W', 'C', 'S', 'R', '0', '3', '2', '0', '0' };
byte[] message = new byte[chars.Length + 3];
//字符转换成ASCII码
byte[] Str = Encoding.ASCII.GetBytes(chars);
message = sendData(Str);
serialPort1.Write(message, 0, message.Length);
//serialPort1.Close();
}
以上是我的发送指令
  • 打赏
  • 举报
回复
“很不可靠”可以百分百地判定是你程序问题。
wwwljh 2012-06-21
  • 打赏
  • 举报
回复
你代码怎么写的?应该是你代码写的有问题。
这里有WPF中使用SerialPort实现串口通讯的源码。
http://www.silverlightchina.net/html/study/WPF/2012/0331/15009.html
Jane_sl 2012-06-21
  • 打赏
  • 举报
回复
还是没人理我么?有一个也好啊,这么多分,怎么结贴?
Jane_sl 2012-06-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
你代码怎么写的?应该是你代码写的有问题。
这里有WPF中使用SerialPort实现串口通讯的源码。
http://www.silverlightchina.net/html/study/WPF/2012/0331/15009.html
[/Quote]
呵呵!这篇文章就是我从网上搜集到资料后,自己又整理的,但是经过实践后,发现通信很不可靠,不晓得是不是WPF本身的问题
Jane_sl 2012-06-08
  • 打赏
  • 举报
回复
木有人做过么?

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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