我在使用 CH341SetOutput(x,x,x,x) 函数时发现会花很长的时间。我的方法如下: 我通过该函数循环设值一个端口为0和1,用示波器测得每次执行一次需要1ms的时间,这个速度在我的应用中显得实在是太慢了,不知我的用法有什么地方不对,请版主指点。特急!!多谢了!
CH341与计算机是通过USB传输的,1ms传输一次,您用CH341SetOutput设置一次就是进行一次USB传输,间隔可能会有1ms. CH341Set_D5_D0设置CH341的D5-D0引脚的I/O方向并通过CH341的D5-D0引脚直接输出数据,效率比CH341SetOutput更高,您可以试试.
多谢指点。我详细介绍一下我的应用,看能否有办法解决,多谢楼上的兄弟,不甚感激!! 我除了会用到8条数据线和WR外,还需要有一条时钟线(自定义)来配合实现传输,也就是每写一个字节数据都需要自定义的那根信号线改变一下才开始下一字节的传输,所以选择CH341SetOutput函数能正确无误的实现我的功能,但提供的所有API都是固定时序的传输。哎!我该怎么办才能加快速度呢?
另外:我发现如果用CH341EppWriteData函数一次写一个字节也会有同样的问题,但一次写4KB数据花的时间也差不多,总觉得有什么地方不对劲。是否可以请设计者再提供一个这样的接口的话,应用上的灵活性就高多了。
这样,您星期一发一个邮件到tech@wch.cn,把您的时序图发过来,我看一下有没有合适的方案帮助您提高速度.
我已发邮件给你了。多谢!!!
我这几天一直在试,遗憾的是仍然有问题。我真希望您能再帮我一下,就是提高写一个字节的速度,我知道会很慢,但只要快一点点就可以了(现在是写一次需要1ms),我相信一定可以提高的。
以你现在的情况,要提高速度,只能提高读写效率一次多写几个字节来提高速度.
这个问题,我也遇到过,1ms是usb帧频率,usb发一个帧就要1ms,没办法。
目前我也找有什么方法可以提高速度