Re: [問題] Qt QSerialPort Class使用疑問

看板C_and_CPP作者 (談無慾)時間6年前 (2018/05/11 21:06), 6年前編輯推噓4(404)
留言8則, 4人參與, 6年前最新討論串2/2 (看更多)
※ 引述《james999 (無傷大雅)》之銘言: : 開發平台(Platform): (Ex: Win10, Linux, ...) : Windows : 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) : MinGW 32bit : 最近在使用Qt的QSerialPort, : 考量到串列傳輸可能會有一種例外狀況產生-被拔起, : 所以在邏輯上有加入isOpen()的判斷, : 不過… 似乎只要Open過的話,isOpen()傳回的都是true, : 絲毫不管此SerialPort是否還在… : 請問有什麼方法能得知呢? 謝謝。 用這個 https://www.jianshu.com/p/74a665ad0a46 一般來說在掃你的設備是在插哪個usb的時候 會使用製造商的名字去掃 所以當你有usb設備變動的時候 就重掃 看那個製造商名字是不是還在 通常這樣就可以了 如果你傳輸是用timer定期去掃的話 我通常會有usb變動的時候就先停timer 有確認東西還在才重開timer -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.84.169 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1526043969.A.52B.html

05/11 23:44, 6年前 , 1F
QSerialPort 是 RS232 那種的, 不是 USB
05/11 23:44, 1F
我們用的是插USB孔的設備 然後用QSerialPort讀取 不知道是不是跟我們的不一樣 但目前專案這樣寫是OK的

05/12 12:01, 6年前 , 2F
USB比serialport複雜多了
05/12 12:01, 2F
※ 編輯: MOONY135 (1.160.83.197), 05/12/2018 20:30:10

05/14 10:09, 6年前 , 3F
謝謝分享!
05/14 10:09, 3F

05/14 10:15, 6年前 , 4F
不過其實… 我沒有特定的設備,只是插個USB轉485 dongle
05/14 10:15, 4F

05/14 10:15, 6年前 , 5F
如果要用這個方法,可能統一採購的dongle要同一款就是XD
05/14 10:15, 5F

05/14 14:51, 6年前 , 6F
用 USB-RS dongle 的話還有個方法是用 Windows API 掃
05/14 14:51, 6F

05/14 14:51, 6年前 , 7F
你的 COMXX 設備還在不在, 不在就一定是被拔了
05/14 14:51, 7F

05/16 19:39, 6年前 , 8F
google WM_DEVICECHANGED qt
05/16 19:39, 8F
文章代碼(AID): #1QzPL1Kh (C_and_CPP)
文章代碼(AID): #1QzPL1Kh (C_and_CPP)