PC经CH347发送数据到MCU,数据包大小超过512时会在第512个数据后产生不必要的间隔,导致MCU产生IDLE中断,不能正确处理。数据内容接收正确,怀疑驱动有问题。相同的数据包其他厂商的串口模块不会有这个问题,因此不是windows本身的问题,也找不到修改缓冲大小的地方。环境为windows 10。
有驱动升级能解决这个问题吗?
PC经CH347发送数据到MCU,数据包大小超过512时会在第512个数据后产生不必要的间隔,导致MCU产生IDLE中断,不能正确处理。数据内容接收正确,怀疑驱动有问题。相同的数据包其他厂商的串口模块不会有这个问题,因此不是windows本身的问题,也找不到修改缓冲大小的地方。环境为windows 10。
有驱动升级能解决这个问题吗?
您好,如上间隔看起来应该是USB包的间隔时间,请问您使用的串口是什么模式?VCP、HID还是CDC模式。
VCP的效率最高,可尝试使用此驱动:/downloads/CH343SER_EXE.html
如使用VCP还是不行,应和软件写法有关,可以用我司串口助手发送文件试下:/downloads/COMTransmit_ZIP.html
按照你的推荐更新了驱动,使用你推荐的串口助手,设备更新后显示为
USB-HiSpeed-SERIAL-A CH347,应该是VCP模式吧?但问题依旧
请问你们测试复现了这个问题吗?
补充全图
您是指上面的几个us的时间也影响到MCU吗?这个时间目前看起来和芯片固件特性有关,暂时没法通过驱动端解决。您可看下MCU端是否有方式可以规避。
是的,几个US的时间会判定为idle,导致数据包判断为结束。因为同类模块都无此问题,应该是可以在某个层面,固件或驱动层面,解决,希望贵公司能想办法解决这个问题。
您好,可以添加工程师微信,协助您做下优化。联系方式已私信。
谢谢!已加,问题不大,我自己也可以解决,纯粹希望你们能改进。