開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC2013
問題(Question):
目前嘗試用usb port去跟儀器溝通,在google與參考後
我的流程如下:
1.先建立DEV_BROADCAST_DEVICEINTERFACE struct去定義dbcc name等相關參數
2.呼叫RegisterDeviceNotification
3.接著讓程式跑到OnSystemDeviceChanged與DeviceChangeHandler,讓程式開始
偵測device
這時候debug一下,發現在第二步時,dbcc(像是dbcc size等參數)所有參數都是空的
接著不管怎麼插拔device,程式都無法在OnSystemDeviceChanged去切換USB狀態
想請問問題會不會在GUID_DEVINTERFACE_LIST的陣列中的數值是否需要修改?
static const GUID GUID_DEVINTERFACE_LIST[] =
{
// GUID_DEVINTERFACE_USB_DEVICE
{ 0xA5DCBF10, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51,
0xED } },
// GUID_DEVINTERFACE_DISK
{ 0x53f56307, ...................................(略) }},
...
...
};
另外如果確定儀器的port是固定的話,是否可以省略哪些步驟呢?
謝謝
作者: celen99 (珍惜每一天) 2015-06-06 11:39:00
他有一個demo的tool裡面應該有usb driver第一步應該要先得到儀器的address它看起來是透NI visa溝通
作者: celen99 (珍惜每一天) 2015-06-06 13:02:00
就visa address. Usb::開頭的字樣對用rs-232也行 設對baud rate就可以控制comport有看到東西 就先用超級終端機類似的工具 先手動下命令 當整個流程都了解 再自動化