微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32F103 USB虚拟串口速度始终突破不了64K/s

STM32F103 USB虚拟串口速度始终突破不了64K/s

时间:10-02 整理:3721RD 点击:
使用原子虚拟串口例程改的,装了VCP驱动,我网上搜了半天,看见虚拟串口可以达到几百KB,但是我怎么也搞不出来。

  1. uint8_t data[240];
  2. u16 t,n,i;
  3. int main(void)
  4. {        
  5.         for(t=0;t<240;t++)
  6.         data[t]=t;         
  7.         delay_init();                     //?óê±oˉêy3?ê??ˉ         
  8.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //éè??NVIC?D??·?×é2:2???à??ó??è??£?2???ìó|ó??è??
  9.         uart_init(115200);                 //′??ú3?ê??ˉ?a115200
  10.         LED_Init();                                  //3?ê??ˉó?LEDá??óμ?ó2?t?ó?ú
  11.         
  12.         delay_ms(1800);
  13.         USB_Port_Set(0);         //USB?è???a
  14.         delay_ms(700);
  15.         USB_Port_Set(1);        //USB?ù′?á??ó
  16.          Set_USBClock();   
  17.          USB_Interrupts_Config();   
  18.          USB_Init();        

  19.         while(1)
  20.         {               
  21.                 for(i=0;i<4;i++)
  22.                 {               
  23.                         UserToPMABufferCopy(data+i*60, ENDP1_TXADDR, 60);
  24.                         SetEPTxCount(ENDP1, 60);
  25.                         SetEPTxValid(ENDP1);
  26.                 }        
  27.                         
  28.         }
  29. }

复制代码

如上,发送240字节的数组,分4次每次60字节。速度60K左右(串口助手接收10秒,算出每秒字节数)。求指教如何提高速度?网上说一帧能发送多个数据包?具体怎么操作?

我同事做的速度可达600KB/s。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top