njnulgh 发表于 2018-9-4 17:26:23

STM32f429 vcp 上位机概率性收不到数据

用VCP官方库,修改VCP_DataTx函数如下: static uint16_t VCP_DataTx(unit8_t* Buf, uint32_t Len)
{
       u8 i;
       if(linecoding.datatype == 7)
       {}
      else if (linecoding.datatype == 8)
      {
            for(i=0;Soft_VER!=0;i++)
               {
                  APP_Rx_Buffer=Soft_VER;
                  APP_Rx_ptr_in++;
                  if(APP_Rx_ptr_in == APP_RX_DATA_SIZE)
                   {APP_Rx_ptr_in = 0;}
            }
      }
}
字符串Soft_VER里面有30个数据;
发现底层在往上位机发送数据时,上位机会概率性收不到,只要发生收不到的情况,之后发送的数据上位机全部都收不到;


通过调试对比发现:
上位机能收到数据时,每次发送数据,底层会进两次DCD_HandleInEP_ISR中断,第一次是进入(diepint.b.emptyintr),第二次进入(diepint.b.xfercoml);
上位机收不到数据时,只进入一次这个中断(diepint.b.emptyintr)


想请问是什么原因,万分感谢!!!!stm


feixiang20 发表于 2018-9-4 23:24:56

接收异常数据丢失是不是超过字节了

njnulgh 发表于 2018-9-5 09:06:28

应该不会吧,不是每次都收不到:'(
页: [1]
查看完整版本: STM32f429 vcp 上位机概率性收不到数据