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

2019-07-14 20:51发布

使用原子虚拟串口例程改的,装了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();                     //ÑÓʱº¯Êý³õʼ»¯         
  8.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //ÉèÖÃNVICÖжϷÖ×é2:2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶
  9.         uart_init(115200);                 //´®¿Ú³õʼ»¯Îª115200
  10.         LED_Init();                                  //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú
  11.         
  12.         delay_ms(1800);
  13.         USB_Port_Set(0);         //USBÏȶϿª
  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秒,算出每秒字节数)。求指教如何提高速度?网上说一帧能发送多个数据包?具体怎么操作?

0条回答

一周热门 更多>