在C#中,我們如果要確定我們要通訊的USB裝置是否已連接,
通常會用PID/VID去判斷裝置是否存在。
最近遇到一個問題,有一個DFU裝置,驅動安裝失敗,但依然可以偵測到PID/VID。
但沒有驅動程式,是無法正確運作的。
最終我是用USB Descriptor 去判斷是否有安裝驅動。
在未安裝驅動前,它的USB Descriptor為"DFU in FS Module",
但在安裝驅動後,它的USB Descriptor為"STM Device in DFU Mode"
一開始誤以為沒有驅動,它不會被讀到。。。。。觀念錯誤。
上了一課,怪不得出現莫明其妙偵測的到,卻無法動彈的情況。
沒有留言:
張貼留言