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条回答
worksnfkpynn99
2019-12-21 03:40

接收:
  1. void EP1_OUT_Callback(void)
  2. {
  3.   if(USB_Status==0)
  4.   {
  5.     USB_SIL_Read(EP1_OUT, Receive_Buffer);
  6.     GetUSBComm_Flag = 1;
  7.     USB_Status=1;
  8.   }
  9. }
复制代码发送:
  1.     if(ReplyPC_Flag)
  2.     {
  3.         USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 64);
  4.         SetEPTxValid(ENDP1);
  5.         ReplyPC_Flag = 0;
  6.     }
复制代码
  1.     RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);        //USB时钟 1Div5
  2.     RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);
  3.     USB_Init();
复制代码我可以直接向PC发送64Byte的数据吗?PC端如何获取?

一周热门 更多>