大家好,請教如果使用USB轉串口 線, 程式里打開串口后, 在 使用程序式中,USB轉口出問題 或 被拔出, 這樣USB口就會無效,這時,就會發生例外,這個要如何處理?
比方 寫資料包到串口上,然后在等接收,,,等的程序中 USB線被撥出,這時就會有會彈出例外對話框。。。
2. 當串口打開后,USB線被拔掉了, 然后在關閉程式后,也將拋出例外。。。
我想讓程式截獲例外;然后提示,這樣友好點, 看了一些串口上位機,都很安靜處理這類事件, 只顯示當前串無效,寫失敗,等等。
uj5u.com熱心網友回復:
一般串口運用中,只是初始化時配置串口,檢測下串口正常否,串口本身不提供這種提醒事件.電腦上的硬體串口如果有,就是一直存在的,串口線拔了,只是不能通訊,串口還是可以打開和關閉的.USB映射的串口,硬體本身不存在,只是USB映射的,可以看成是"軟串口",轉換器拔了,這個串口也沒了.
如果要實時檢測,笨點的辦法,就是用到串口的地方,檢測下是否有串口.
uj5u.com熱心網友回復:
嗯,用到的地方,是加上了例外捕獲,但沒有操作串口時,是串口也是打開的,估計邏輯要改一下:open serial.
write/read
close serial.
read time out
close serial;
-----------------
這樣,估計只發生在read serial 等待資料包時,突然拔掉, 估計也可以捕獲吧?!
原先的是:
--在改變serial port: combobox 埠號時,就打開串口。 然后 write 就是直接寫了。
要像上面 OPEN 和 CLOSE成對出現? 回頭試試。
謝謝你的回復
uj5u.com熱心網友回復:
comport 的bug,硬拔轉接頭后就關不掉,幾年了都不更新,還要自己看原始碼修改去。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/93135.html
標籤:語言基礎/算法/系統設計
