我有一个使用System.IO.Ports.SerialPort进行串口通信的.NET C#类。它包括一个在循环中连续读取串行端口的线程。我一直认为使用异常作为正常程序流的一部分是不好的,但在web上搜索一下,我看到了许多使用阻塞读取和TimeoutException来等待传入数据的示例,比如:{ { {
/* Wait for event signal
我不得不在两台计算机之间做很多序列化通信,我现在使用WCF来做这个,但完成一个操作所需的时间是10k - 20k刻度,这对我的通信来说太多了,我也尝试了直接的TCP/IP序列化,结果更有提示,大约每个操作1k-2k刻度。我真的很喜欢WCF,因为它很简单,我也注意到WCF不能同时处理多个操作,这也是需要的。有没有办法做到这一点,可以用其他东西,然后WCF?或者我只能编写自己的TCP/IP序列化通信?pipeFactory = new ChannelFactory<IBlissRequest>(binding, new EndpointAddress(ep))
我开发了一个应用程序,可以在SerialPort中读取C#中的数据。工作很好。但从SerialPort读取的数据与我预期的不同。当我使用XCTU或Matlab读取端口时,它会给出如下数据,但是当我从C#应用程序读取相同的数据时,我期待C#应用程序的结果数据,如Matlab和XCTU的结果。dataLength = _serialPort.BytesToRead;
byte[] data = new by