2017年4月10日 星期一

C# virtual com port 無法接收資料

最近在 C# 中用 SerialPort 這個 class 來打開一個 virtual COM port, 並跟一個裝置溝通, 但怎麼樣都無法從裝置中收到資料, 後來發現要設定了 RtsEnable 這個屬性為 true, 才能收到資料

估狗了一下, 在這裡有寫到 virtual COM port 這個屬性要設為 true 才會觸發接收資料的流程, 在 stackoverflow 也有人寫到應該設定 HandShake 為 RequestToSend, 讓 driver 幫你設定適合的 RtsEnable 值, 測了一下只設定 HandShake 的確也是可以收到資料

猜測比較有可能的原因是 virtual COM port 會需要這些設定, 因為網路上也有一些用 real COM port 的例子是不需要設定 RtsEnable 的屬性就可以接收資料

沒有留言:

張貼留言