[問題] serial port認不到dbcc_name

作者: williamsm (Roger)   2015-06-04 22:55:31
開發平台(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-05 08:56:00
什麼儀器 儀器應該有user guide可參考
作者: flylover (Where's my time)   2015-06-05 21:10:00
推樓上,或問廠商有沒有提供library
作者: celen99 (珍惜每一天)   2015-06-06 11:39:00
他有一個demo的tool裡面應該有usb driver第一步應該要先得到儀器的address它看起來是透NI visa溝通
作者: williamsm (Roger)   2015-06-06 11:51:00
儀器上只有usb與rs232沒有gpib請問c大 address指的是GUID碼或是PID?
作者: celen99 (珍惜每一天)   2015-06-06 12:58:00
不是 visa是儀器溝通的語言
作者: sd016808 (sd016808)   2015-06-06 12:58:00
除非是想練功 不然怎麼不用NI VISA或者CSerialPort之類你只要看儀器Command下對應的read write 這樣比較省事
作者: celen99 (珍惜每一天)   2015-06-06 13:02:00
就visa address. Usb::開頭的字樣對用rs-232也行 設對baud rate就可以控制comport有看到東西 就先用超級終端機類似的工具 先手動下命令 當整個流程都了解 再自動化

Links booklink

Contact Us: admin [ a t ] ucptt.com