主机:Windows XP SP3
客户机:Windows XP SP3
Virtual PC 2007 (6.0.156.0)
我有两个串行设备连接到主机(芯片卡和密码卡读卡器)。当它们在主机上运行时,它们可以与我的应用程序配合使用。
在客户操作系统上,我已将虚拟 COM 端口映射到物理端口,这些端口显示在设备管理器中。
我无法将配置数据下载到设备。客户机上的 SysInternals PortMon 允许我查看正在发送的数据:
ddl.exe IRP_MJ_CREATE Serial0 成功 选项:打开
ddl.exe IOCTL_SERIAL_SET_WAIT_MASK Serial0 成功 掩码:
ddl.exe IOCTL_SERIAL_GET_BAUD_RATE Serial0 成功
ddl.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial0 成功
ddl.exe IOCTL_SERIAL_GET_CHARS Serial0 成功 ddl.exe IOCTL_SERIAL_GET_HANDFLOW Serial0 成功 ddl.exe IOCTL_SERIAL_GET_BAUD_RATE Serial0 成功 ddl.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial0 成功 ddl.exe
IOCTL_SERIAL_GET_CHARS Serial0 成功ddl.exe IOCTL_SERIAL_GET_HANDFLOW Serial0 成功 ddl.exe IOCTL_SERIAL_SET_BAUD_RATE Serial0 成功 速率:57600 ddl.exe IOCTL_SERIAL_SET_RTS Serial0 成功 ddl.exe IOCTL_SERIAL_SET_DTR Serial0 成功 ddl.exe IOCTL_SERIAL_SET_LINE_CONTROL Serial0 成功 停止位:1 奇偶校验:无 字长:8 ddl.exe IOCTL_SERIAL_SET_CHAR Serial0 成功 EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13 ddl.exe IOCTL_SERIAL_SET_HANDFLOW Serial0 成功 摇动:1 替换:40 XonLimit:2048 XoffLimit:512 ddl.exe IOCTL_SERIAL_SET_TIMEOUTS Serial0 成功 RI:0 RM:0 RC:0 WM:0 WC:0 ddl.exe IRP_MJ_WRITE Serial0 成功 长度 1: . ddl.exe IOCTL_SERIAL_SET_TIMEOUTS Serial0 成功 RI:-1 RM:0 RC:0 WM:0 WC:0 ddl.exe IRP_MJ_READ Serial0 成功 长度 0: ddl.exe IRP_MJ_WRITE Serial0 成功 长度 1: . ddl.exe IOCTL_SERIAL_SET_TIMEOUTS Serial0 成功 RI:-1 RM:0 RC:0 WM:0 WC:0 ddl.exe IRP_MJ_READ Serial0 成功 长度 0:
这些设备只是永远地等待数据。
对于如何进一步排除故障您有什么想法吗?
答案1
发现设备被硬编码为以 115,200 波特进行通信,并且不协商速度。一旦我从 57,600 波特更改,一切就都好了。