最近写C#串口实现循环读数据 c#通信程序系统是B/S架构。SerialPort类有一个DataReceived事件用来接收串口实现循环读数据 c#返回的数据,但这种方式在C/S架构下很好用但B/S就不好处理了。所以写了┅个同步模式接收返回数据的方法不使用DataReceived事件。经过测试可以正常使用。
为什么使用工厂类:售货机由不止一个厂家提供接口协议嘟不一样。
2、向串口实现循环读数据 c#发送数据同步接收返回数据的方法:
1、Controller层代码(还不完善,仅测试真实情况是根据硬件信息,确定調用哪个Dll使用哪个串口实现循环读数据 c#):
//上面的可以根据需求改 if (Closing) return;//如果正在關闭忽略操作,直接返回尽快的完成串口实现循环读数据 c#监听线程的一次循环 Listening = true;//设置标记,说明我已经开始处理数据一会儿要使用系統UI的。 int n = comm.BytesToRead;//先记录下来避免某种原因,人为的原因操作几次之间时间长,缓存不一致 //因为要访问ui资源所以需要使用invoke方式同步ui。 //根据当前串口实现循环读数据 c#对象来判断操作 //打开时点击,则关闭串口实现循环读数据 c# //关闭时点击则设置好端口,波特率后打开 //捕获到异常信息创建一个新的comm对象,之前的不能用了 //现实异常信息给客户。
上面的代码是可以在VS2010上面正常运行,button发送命令,textbox接收串口实现循环读数据 c#返囙的数据
SerialPort.Read 只是读啊!如果使用如SQL语句类似的查询该怎么做呢!我有这么一个设备在读取数据之前需要发送命令,才会返回数据这样的該怎么做呀
SerialPort 里面有这个事件,comPort_DataReceived你定制一下就成了,发送之前打开串口实现循环读数据 c#并监听此事件。
以后才能回答,未注册用户请先