在一台pc上存在多个CH341,如何识别?

在现在有的库文件中,只提供了根据设备号来判断设备的API。 但是假如:在一个PC上有多个CH341设备,而事先你又不知道你的设备是第几个插上去的,(这种情况是可能发生的),怎么来正确判断自己的设备号呢? API如下:CH341OpenDevice( ULONG iIndex)

现在是先插PC上的是0,1,2....依次递增。但是如果新批次的CH341和老批次的CH341无论谁先插上去,新批次都是0,老批次是1.

能不能把CH341的设备号写到EEPROM中?有个固定的INDEX,而不是动态的?

我们的库不支持你所说的固定的INDEX


对于你所说正如CH34X所说没法做到,先发现谁不是由芯片决定,而是由计算机自已决定先加载谁.且还会跟USB端口的内部序号有关. 你所说的问题,我倒是觉得可以这样: 1.CH34X是接口芯片,也就是你设备的接口,对于计算机来说,我们芯片与您的设备合起来就是一个计算机外设.所以如果可以,你也可以在程序里与您的设备通讯来决定是哪个功能设备.这是最好的. 2.如果您所插的设备都是相同的设备,彼此无法区分,那可以在程序里,通过CH341GetDeviceName来获得相关CH341芯片在计算机上的设备名,自已做一个数组专门来存放此类的设备标识.CH341OpenDevice()中参数有两种意义,小于128,他代表的是设备序号,否则是代表一个用CreateFile打开设备后的设备句柄.通过CH341setdevicenotify来监视设备的插拔,在发现插拔的过程中,来动态扫描设备的情况.这个您可以考虑一下,如在编程中有问题,您可以发邮件到tech@wch.cn,我们协助您解决.


好像ch341可以加一个24cxx,把设备的种种信息谢在里面。请查看说明文件。


只有登录才能回复,可以选择微信账号登录