CH32V203 用歷程里的SimulateCDC-HID歷程,在HID收發(fā)數(shù)據(jù)的時候,有兩個問題不太明白,請教一下:1.HID發(fā)送的時候?yàn)槭裁吹谝粋€1沒有被返回呢?2.發(fā)送的是9個字符為什么收到的永遠(yuǎn)是
64個字符呢?
我看歷程里MCU是把收到的數(shù)據(jù)在發(fā)送出去。我把原歷程里USBFS_EP4_Buf[ i ]前的取反刪掉了。
CH32V203 用歷程里的SimulateCDC-HID歷程,在HID收發(fā)數(shù)據(jù)的時候,有兩個問題不太明白,請教一下:1.HID發(fā)送的時候?yàn)槭裁吹谝粋€1沒有被返回呢?2.發(fā)送的是9個字符為什么收到的永遠(yuǎn)是
64個字符呢?
我看歷程里MCU是把收到的數(shù)據(jù)在發(fā)送出去。我把原歷程里USBFS_EP4_Buf[ i ]前的取反刪掉了。
我在另一個歷程?CompatibilityHID 發(fā)現(xiàn)這樣一句注釋,貌似是和第一個問題有關(guān),具體是為什么呢?USB協(xié)議么還是MCU做了什么處理?
?*? ?Note that the first byte is the valid data length and the remaining bytes are
?*? ?the transmission data for interrupt Transfers.
你好,關(guān)于你提出的兩個問題:1、例程中是做了一個回傳的處理,上位機(jī)通過端點(diǎn)4下發(fā)給V203的數(shù)據(jù),V204會取反后從端點(diǎn)4返回上傳給上位機(jī),程序如下:
在你的這個上位機(jī)上為什么第一個1沒有收到,這個可以對USB總線抓包看一下實(shí)際傳輸?shù)臄?shù)據(jù)來確認(rèn);
2、為什么傳輸?shù)囊欢ㄊ?4字節(jié),這是由于在報告描述符中規(guī)定好設(shè)備就是要Input或Output64字節(jié)的報告,程序如下:
看了下收發(fā)的數(shù)據(jù),IN 包確實(shí)少了第一個數(shù)據(jù)。
OUT一共發(fā)了65個數(shù),第一個應(yīng)該不是有效數(shù)據(jù)
看到有地方描述IN包第一個字節(jié)是ID
找到原因了是調(diào)試工具紙飛機(jī)的BUG,首次打開紙飛機(jī),左下角“發(fā)送報告ID”不做任何操作,就會出現(xiàn)發(fā)送的數(shù)據(jù)第一個字節(jié)丟失的情況。
在請教下,CH32V203怎么去獲取到這個報告ID呢?