[问题] 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