C#中的虚拟串口有问题:当我调用写函数时,它会自动抛出一个TimeOutException,但是客户端会接收数据。
这种情况只发生在虚拟端口上(我使用的是来自HDDSoftware的免费虚拟串口,使用的是桥COM13 12<->COM13 13)。我用Visual打开COM12,用Hercules打开COM13。应用程序抛出超时异常,但Hercules接收消息。
不管我设置了1000 of还是1000000 of的读/写端口超时。
谢谢!!
using (SerialPort port = new SerialPort("COM13"))
我正在调试一些系列的东西,重要的部分是SerialDataReceivedEventHandler。
我观察到(通过断点和悬停)读取的字节几乎是缓冲区大小本身的两倍。就像哈?
这是密码
aUartSemaphoreThatTells.WhatTheUartBackgroundRxIsDoing = (int)aValueWhichIndicatesThat.theUARTisReceivingData;
SerialPort CurrentPort = (SerialPort)sender; //// Int routine gave is this in the arguments
in
我正在用C++/CLI开发一个应用程序,它通过串口与设备通信。用MS测试测试他们。我只是在阅读有关模拟对象的内容,并且只从概念上理解了它。我在单元测试中面临许多挑战,主要是因为我用来通过串口向我的应用程序发送数据的模拟器以某种方式运行,我无法让它改变它的行为。
我想知道的是:
可以使用模拟对象来模拟串口行为吗?它的输入缓冲区?可以使用模拟对象来更改串口行为(即假装端口被阻塞)。可以模拟更基本的类(例如,我想测试分配数组的代码的一部分)。是Rhino Mocks,适合于模拟C++/CLI应用程序吗?任何其他的模拟框架(最好是免费的,但对付费的框架开放),在您的经验中对此任务是好的吗?与MS Te
SerialPort的Write方法是否写入它被告知的所有字节?我有这个代码来通过串口发送数据。
SerialPort port = new SerialPort(
"COM1", 9600, Parity.None, 8, StopBits.One);
// Open the port for communications
port.Open();
// Write bytes
byte[] bytes = Encoding.