我有一个usb设备(pole display),我没有驱动程序。
我安装了通用usb驱动程序,并打开了用于向设备发送(我使用批量传输)数据的端口。
使用usb监控软件,我看到我的数据到达设备,但在设备端没有发生太多事情。
设备命令(ESC/POS)在通过(虚拟) com端口传输时起作用,但在usb端口上不起作用。
设备处理命令的方式不应该与连接类型(com和usb)相同吗?我如何弄清楚哪些命令适用于设备(例如,如果我发送一些文本,我希望它显示在显示器上)?
如有任何帮助,我们不胜感激!
发布于 2014-08-16 06:05:11
查看设备报告的USB描述符,以确定其类别。如果它是一个自定义设备,而不是一个标准类,那么您很可能无法使用它。旧的RS-232串口协议与USB协议有很大的不同。USB设备可以有多个配置和端点,每个端点以不同的方式响应数据。存在许多非常标准的类(CDC-ACM通常用于虚拟串行端口)。然而,对于设备制造商来说,包括OEM特定配置和端点的情况并不少见,这些配置和端点可以用于他们自己的自定义接口、固件加载等。
发布于 2014-08-17 23:39:15
连接设备时,是否有通过COM端口传输的初始化数据?设备当然可以不同地对待COM和USB,但另一件可能出错的事情是,设备需要先听到你发出的某种“我要开始发送命令”的-signal,而这个信号在COM和USB之间可能不同。
因此,我建议首先(如果你还没有这样做)看看发送什么数据来初始化COM连接,如果没有明显的USB连接,将它连接到你确实有驱动程序的PC上(假设驱动程序在某个地方可用,如果你因为操作系统不兼容而问这个问题,这是可能的),看看连接是如何在那里初始化的。
如果第一个命令不起作用,第二个命令对你来说是不可用的,那么我恐怕帮不了你什么,因为你通常看不到设备想要听到的命令,除非通过猜测,文档,或者与类似的设备进行比较,在那里你确实有可用的数据。
https://stackoverflow.com/questions/25204144
复制相似问题