c#串口编程后硬件换成网口的问题 1C

1、由于项目需要,设备原有的串口通信要改成网口通信,硬件比较好改,软件改动量就大了
2、主要问题是:之前的网口同通信时用同步操作实现的(即发送--sleep100ms--接收数据--解析数据-显示数据),现在网口的发送和接收是在2个不同方法中,这一来,我就不能根据发送的数据和接收到的数据进行比对判断,而且也没法实现发送和接收中间间隔多少ms(这也是一个性能指标要求,如下位机必须30ms内返回,否则上位机程序视为通信失败),大家一般网口通信都是怎么实现的呢?2个线程,1个只管发,一个只管收,那怎么知道收的对不对,指令要严格一一对应上才行的啊。
注:指令非常小,发送和接收都是10字节以内。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#串口编程怪问题
最近在写一个程序,用WinCE 5.0的平板电脑通过串口去读电子秤,遇到几个很奇怪的问题。请高手指点一下。rnrn部分代码如下:rn[code=csharp] private void btnWeight_Click(object sender, EventArgs e) //点“称重”按钮rn rn if (serialPort1.IsOpen)rn serialPort1.Close();rn serialPort1.Open();rn rnrnrn private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) //读数据rn rn tryrn rn int bytesCanRead =this.serialPort1.BytesToRead;rn if (bytesCanRead > 0)rn rn byte[] bzData = new byte[bytesCanRead];rn this.serialPort1.Read(bzData, 0, bytesCanRead);rn string s = Encoding.ASCII.GetString(bzData, 0, bytesCanRead);rnrn if ((s.Trim() != "") && (s.Length >= 11))rn rn serialPort1.DiscardInBuffer();rn serialPort1.Close();rn //MessageBox.Show(s);rn s = s.Substring(s.Length - 11, 7);rnrn this.Invoke(updateText, new string[] s ); //处理读出来的数据rn rn rn rn catch (Exception ex)rn rn throw ex;rn rn rn[/code]rnrn问题1:从串口读出来的数据不会清除,会一直累加,所以我只能每次都是取最后几个字母。网上搜到的说“DiscardInBuffer()”可以清除,但实际使用中没效果。rn问题2:上面代码中有注释掉的一句“ //MessageBox.Show(s);”,如果取消这个注释,则能正确读出数据,并显示出来。如果注释掉,点“称重”按钮则不会显示任何内容,但在其他按钮或输入框上点一下,又显示出来结果了。rn问题3:我最开始是在PC上写的程序,很简单的,就是Open、Sleep(1000)、ReadLN、Close(简化的代码),但在WinCE上不行,说Sleep(1000)不可以。去掉后,读不出来数据,甚至死掉。网上搜了一下,说是电子秤读出来的数据不一定会有回车,所以ReadLN有可能会读不到回车而死掉。然后按网上搜到的改成上面的代码。是否有更加方便的代码???rnrn这三个问题请高手指点一下。
java与硬件的RJ45网口的通信
我在做监控类项目时,有一个硬件提供串口rs485和RJ45网口,,我要在java中与该硬件的网口传输数据,是直接用socket吗,该硬件的IP地址和端口如何设定?
C#串口编程
C#串口编程,自己备份,同时共享。
C# 串口编程
C# 串口编程
【C#串口编程计划】串口编程简介
介绍C#串口编程的基本知识。
c#串口编程
本程序可以在本地机模拟串口通讯,读者可以用跳线将串口的2、3针短接即可在本地机测试通过串口发送和接受数据
C# 网口 通讯
实现了 C# 里面的网口通讯,简单的聊天
C# PLC与网口通讯
C#程序 主要是用于 PLC与网口通讯,可进行写入,和读取PLC寄存器值,需安装MX Component软件
C#网口上位机
最近做的一套小东西,要求用C#写一个上位机。下位机是一个读卡系统,读到的是一串ASC码的字符,通过远程传输模块转到一个串口-网口的硬件上,我做的就是从网口上读取这些数据,然后处理,请问,如何实现对网口传入数据的读取?用什么技术?是不是要编写WINDOWS服务?
C# 网口热敏打印机
C# 怎么操作这样的热敏打印机啊rn怎么发出“切纸”指令啊
C#读取网口的数据
现在做一个项目。一个无线传感器采集到数据后通过同以太网口传到PC机上,现在要做的是用C#编程读取这个数据。不知道怎么弄了,请高人帮忙!
C# 串口编程 处理应答问题
本人做串口编程的时候遇到一些问题,想和大家探讨一下!rn本人C#串口编程还算比较熟悉,编过一些程序,基本的数据读写还是会的,普通的通信协议的解析也还清除,但是最近遇到一个问题却让我没了思路。rnrn问题是这样的,PC机和PLC通过串口进行通信,PC机发送一个指定的读命令,这个读命令包含一个固定的字长,然后PLC接收到这个命令之后,会判断这个命令是否“合法”,如果命令合法就应答一个字节数据,表示自己做好了接收命令的准备,之后PC机发送需要读写的寄存器地址,PLC根据这个地址返回相应的数据(多个字节)。rnrn现在我点犯难了,如何处理好这个关系,到底接听使用serialport类的监听事件,还是专门做一个监听的线程。接收的数据会根据发送的数据产生相应的格式变化!rnrn没有高手可以提供一点解决这种问题的思路,点点迷津,如何组织我的代码,在下不胜感激。
c# 读取网口信息
有哪位朋友有用c#写的读取网口的简单程序,可以发给我看一下吗?急急急,谢谢啦,麻烦了。
C# 网口传输总结
以太网传输 计时 多线程
C# Socket 网口 异步通信
一种基于C#的Socket的异步通信源代码,适合了解学习C#的Socket异步通信原理
W5500+网口开发板资料。硬件原理图
W5500+网口开发板资料
C#与硬件交互的问题
C#怎么跟我的硬件交互,通过什么控件可以啊?
串口编程 c# SerialPort类
c# SerialPort类 串口编程,串口通讯,费了不少心思,测试、调试直到没问题,希望大家多多交流,互相提高。由于硬件协议需要先用9600通讯,发一条数据后,再改为用38400通讯,所以打开串口时多了一步,大家看时注意,也希望能提一些优化的意见
c#串口编程经验总结
串口的编程关键在于数据的分析,大家共同探讨一下吧。有好的经验或例程,分享一下
C#的SerialPort串口编程
C#的SerialPort串口编程,对于初学C#串口的有一些帮助的。
c# serialport 串口编程用
需要用c# serialport控件来编写串口程序的希望能对你有所帮助
c# 串口编程 轮询
三个设备 并在一起,给每个设备发个指令,设备给我回复一段字符,如何轮询?请教各位高手
急救!!!c#串口编程!!!!!!!!!!!!!!!!!!!!!!!!
我之前是做web开发的对这个一无所知.具体要求如下:rn我们的客户是一家食品供应商,他的生产线上要装一个软件.软件用来放出号码(例如2009/04/22 001A),喷码机接收这组数字,然后喷码, 每12个喷好码产品装箱.然后通过传感器,打印机条码打印条码.rnrn哪位大虾能给我点思路.还有最好给我程序与S8喷码机通讯的程序例子.(串口是RS232的,打印机都是RS23的NOVA的)rnrnrn小弟刚刚接触这个一窍不通阿!!!分我可以加到1000!!!拜托了!!!!!!!
C# 串口编程 (短信猫)
C#编写的短信猫代码 ,在VS2005下通过了测试。 物超所值。
C#中串口编程
C#中串口编程
关于c#中的串口编程?
哪位可以提供c#串口编程的资料或者源代码,谢谢!
c#带协议的串口编程
我已经实现了最简单的串口间的通信,但是老师要我在此基础上再加上协议进行通信,能收发固定格式,解析数据信息。当时学网络的时候就有点迷糊,现在不知道怎么下手,看到好多例子都是C++的,没有C#的,希望高手能给我一个简单的C#例子看看,谢谢了~~
求 C#串口编程的源码!
求C#串口编程的源码!望达人们帮忙!rn我的邮箱:shenkedong@gmail.com 谢谢!
C#串口编程之串口助手
这是一个C#串口编程的入门级程序,可以实现简单的数据发送和接收,大家可以下载下来之后学习一下,因为主要是为了演示串口编程,所以程序中很多可能发生异常的地方没有添加try和catch语句。
C#串口编程.pdf
C#串口编程.pdf 对开发很有帮助。串口技术的起源
C#串口编程集
C#串口编程
c#串口编程与实例讲解
很有用,谢谢下载 串口编程的经典实例,更实用于初学者。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
C#串口编程学习总结
.NET2.0之后,引入了SerialPort类,在System.IO.Ports.SerialPort创建串口对象,即能设置属性,连接串口进行数据传输。 第一 设置参数: 在打开串口之前,需要设置串口的串口号、波特率、停止位、数据位、校验位。 对应C#代码:SerialPort.PortName、BaudRate、StopBits、DataBits、Partity 例子:serialP = ne...
C#串口编程的,有没有会的
有没有会用C#进行串口编程的,我急需。最好是例子
C#串口编程书
麻烦懂的朋友给推荐本C#串口编程的书籍。rn我是C#新手。看了几本书。发现都不怎么好。rn很多东西还是不懂。rn有懂的哥哥姐姐们。推荐几本好书。rn希望能看完书籍后 能自己写点东西。
C# 串口通讯协议 串口编程
C# 串口编程源码,学习串口编程的好资料!
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数