在公开的芯片说明文件《CH341DS2》中对并口传输速度“理想状态下的最大传输速度是800KB/S”的说法,其实这并非简单的“理想”而是完全可以做到的现实。所差不过在于那一次限定的最大缓冲区4096字节过于“寒酸”罢了……
其实,你只要提供无限的缓冲区给用户使用,这个问题就迎刃而解了,无非是现在提供的API不能满足实用的需要而已。解决的办法不是没有,更不是无限占用系统的资源,而是换一个角度来思考。事实上,你只要提供1K字节的缓冲区就比现在这样要好得多。
参考一下串口对于缓冲区是如何处理的,就不难明白我要说明的具体做法。
绝非“信口开河”!我至少在自己机器上测试过:包括每帧必然损失的时间,连续采集的速度仍然可以做到每微秒800字节。是必然而非偶然的速率哟……
下次上来将公开我具体的实验电路和参数,事实上在那个《[原创]巧用CH341评估板测试并口接收速率 》帖子中已经算是公开了的。