在端點(diǎn)2里面組裝一個(gè)1024byte數(shù)據(jù),組裝完拷貝出去,發(fā)現(xiàn)有時(shí)部分64byte數(shù)據(jù)會(huì)出錯(cuò),被新值覆蓋
in?offset = 0;
u8 usb_tmp_buf[1024] = {0};
u8?my_buf[1024] = {0};
case UIS_TOKEN_OUT | 2://端點(diǎn)2 Out
{
????len = R8_USB_RX_LEN;
????memcpy(&usb_tmp_buf[offset], pEP2_OUT_DataBuf, len); //組裝數(shù)據(jù)每次最大64byte
????offset += len;
????if(offset>=1024)
????{
????????//有沒有 可以 暫停usb pEP2_OUT_DataBuf接收?
????????memcpy(my_buf,? usb_tmp_buf , 1024); //發(fā)現(xiàn)拷貝數(shù)據(jù)時(shí)間比較長(zhǎng),pEP2_OUT_DataBuf數(shù)據(jù)更新了,來不及接收,后面會(huì)覆蓋
????????// 打開usb?pEP2_OUT_DataBuf接收
????????offset = 0;
????}
????//沒有其他操作,清中斷,退出中斷
????....
}