.netサンプルを使用してCOMポートに書き込もうとしています
実際の COM への書き込みには問題はありませんが、仮想 COM に書き込もうとするとタイムアウト例外が発生します。
未処理の例外: System.TimeoutException: 書き込みがタイムアウトしました。System.IO.Ports.SerialStream.Write(Byte[] 配列、Int32 オフセット、Int32 カウント、Int32 タイムアウト) で System.IO.Ports.SerialPort.Write(文字列テキスト) で System.IO.Ports.SerialPort.WriteLine(文字列テキスト)
問題をグーグルで調べたところ、これが見つかりました。そこで言われていることによると、これは問題です:
.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);
FILE_FLAG_OVERLAPPE の代わりに NULL を使用したとき
私の質問は、どうすればこの問題を克服できますか? 独自のコードを作成する必要がありますか?