写入虚拟COM时发生超时异常

时间:2013-09-11 16:51:16

标签: c# .net serial-port virtual-serial-port

我正在尝试使用.net sample

写入COM端口

写入真正的COM没有问题,但是当我尝试写入虚拟COM时,我会收到超时异常

  

未处理的异常:System.TimeoutException:写入超时。      在System.IO.Ports.SerialStream.Write(Byte []数组,Int32偏移量,Int32计数   ,Int32超时)      在System.IO.Ports.SerialPort.Write(String text)      在System.IO.Ports.SerialPort.WriteLine(String text)

我用Google搜索了问题,找到了this。根据所说的那就是问题:

  

.net的write()函数正在使用CreateFile和WriteFile Async,如下所示:

CreateFile("\\\\.\\" + portName,
            NativeMethods.GENERIC_READ | NativeMethods.GENERIC_WRITE,
            0,    // comm devices must be opened w/exclusive-access
            IntPtr.Zero, // no security attributes
            UnsafeNativeMethods.OPEN_EXISTING, // comm devices must use OPEN_EXISTING
            FILE_FLAG_OVERLAPPED,
            IntPtr.Zero  // hTemplate must be NULL for comm devices
            );

WriteFile(_handle, p + offset, count, IntPtr.Zero, overlapped);

当我使用那些我有NULL而不是FILE_FLAG_OVERLAPPE

我的问题是,我该如何克服这个问题?我必须编写自己的代码吗?

0 个答案:

没有答案