你好,
产线混合着Ch341F 和 CH341T两种型号产品,
我们发现Ch341F在通过I2C写码的时候,偶尔会写入失败,现在想通过程序检测下,如果是Ch341F,就降低速率。
但找了几个接口(eg:CH341GetVersion, CH341GetDrvVersion),都无法区分这两个细分型号。
请问应该用哪个调用来获取到这一细分信息呢?
你好,
产线混合着Ch341F 和 CH341T两种型号产品,
我们发现Ch341F在通过I2C写码的时候,偶尔会写入失败,现在想通过程序检测下,如果是Ch341F,就降低速率。
但找了几个接口(eg:CH341GetVersion, CH341GetDrvVersion),都无法区分这两个细分型号。
请问应该用哪个调用来获取到这一细分信息呢?
您好,CH341T和CH341F在使用上是没有区别的,如遇到问题大概率是硬件信号的问题。关于咨询的CH341T和CH341F能否区分版本的问题,可使用库函数:CH341GetDeviceDescr 解析 bcdDevice 进行区分。此外,推荐客户使用高速USB转高速I2C接口芯片CH347替代CH341芯片。除功性能提升外,还内置了EEPROM,支持芯片USB参数的灵活配置。
谢谢 tech64 的回复。
但我试了下,两块芯片调用 CH341GetDeviceDescr,他们的bcdDevice位没有区别,
返回的都是: 18 1 16 1 255 0 2 8 134 26 18 85 4 3 0 0 0 1
没有区别,可能是厂家没有正确填充这些个值。。。。。。
因为是生产环境,已有的设备中,芯片是不敢动的,也动不了,只能想想怎么补救.
附usb协议解析字段:
您好,麻烦联系下技术查下硬件问题,联系方式已私信。