VB6用定时器查询的方式实现与USB设备通讯慢,如何解决?

2019-12-20 21:45发布

借鉴了别人的VB程序,调用了API来实现与下位机USB通讯(STM32F103)。
我现在是用VB中tmr定时器,以1ms的速度(VB6定时间最小1ms)去查询USB设备,但是调试到一条指令下发至返回有64ms!!!!!!一直找不到哪里花去了这么多时间。


注:USB设备是STM32F103,以PLL/1.5的速度来描述USB速度,可以说肯定可以保证VB6中1ms的速度。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
24条回答
twitter
1楼-- · 2019-12-22 21:58
twitter 发表于 2012-8-20 15:43
1ms的实时要求拿.NET来做就更为难楼主了,应用层到内核层的消耗加上托管到非托管的转换,1ms精度的难度更 ...

用VB.NET的多线程应该不错。1ms这样的定时精度,我基本上不相信windows可以在不外加硬件设备辅助情况下做到。尤其是应用层。。
bbs2009
2楼-- · 2019-12-23 01:34
bbs2009 发表于 2012-8-18 12:14
有意思, 有点复辟的感觉。
现在用C/C++用的不错了 做好上 Qt。

嗯,呵呵,据说Windows下的上位机软件用VB上手简单些
pcwhy
3楼-- · 2019-12-23 03:49
 精彩回答 2  元偷偷看……
twitter
4楼-- · 2019-12-23 07:41
zxq6 发表于 2012-8-18 10:46
VB搞usb,确实速度不行,有一个办法,可以用while(1)循环。只是界面不响应操作,除非增加doevents,不过那 ...


帮我看看这个问题怎么弄好吗?感觉你VB应用能力应该挺强的……

http://www.amobbs.com/thread-5494337-1-1.html
pcwhy
5楼-- · 2019-12-23 12:06
twitter 发表于 2012-8-18 11:11
vb6的定时器实际能跑的最小间隔取决于CPU性能、系统性能,差的机子最低实际只能跑到90ms,强些的能到60ms, ...

帮我看看这个问题怎么解决,好吗?先谢谢了。

http://www.amobbs.com/thread-5494337-1-1.html
zr0621
6楼-- · 2019-12-23 13:46
worksnfkpynn99 发表于 2012-8-29 09:37
前些日子整好了,能达到4ms一次收发,具体:
修改USB驱动为1ms巡查1次。(默认是:32ms)

楼主,想知道 4ms收发一次用vb最终是如何实现的呢,也在用vb,也发现vb定时器精度太低的问题,谢谢

一周热门 更多>