CH32V103R8T6 的 USB 按照 Bluk 方式傳輸數(shù)據(jù)。CH32V103 每次都會等待上次傳輸完成后再開始傳輸。
按照:
1. CH32V103 接收計算機傳輸?shù)臄?shù)據(jù)。
2. CH32V103 處理數(shù)據(jù)。
3. CH32V103 將數(shù)據(jù)傳輸回電腦。
這個流程,USB 工作就是正常的。
按照:
1. 如果數(shù)據(jù)緩沖區(qū)未滿,CH32V103 接收計算機傳輸?shù)臄?shù)據(jù)。并放入緩沖區(qū)。
2. 如果數(shù)據(jù)緩沖區(qū)未滿,CH32V103 接收計算機傳輸?shù)臄?shù)據(jù)。CH32V103 處理緩沖中的數(shù)據(jù)。
3.如果數(shù)據(jù)緩沖區(qū)未滿,CH32V103 接收計算機傳輸?shù)臄?shù)據(jù)。CH32V103 將處理后的數(shù)據(jù)傳輸回電腦。
這個流程,Windows 的 USB 函數(shù)傳輸函數(shù)就會報錯。
好像是CH32V103 和計算機如果同時向對方傳輸大量數(shù)據(jù),就會出錯。如果控制流程,保證 CH32V103 向計算機傳輸數(shù)據(jù)的時候,計算機暫停傳輸數(shù)據(jù)。等到CH32V103數(shù)據(jù)傳輸完成,再控制計算機傳輸數(shù)據(jù),就沒問題了。