從官方的CH583_EVT例程里面可以看到如下代碼:
????while(1) ????{ ????????mDelaymS(1000); ????????//鼠標(biāo)左鍵 ????????DevHIDMouseReport(0x01); ????????mDelaymS(100); ????????DevHIDMouseReport(0x00); ????????mDelaymS(200); ????????//鍵盤按鍵“wch” ????????mDelaymS(1000); ????????DevHIDKeyReport(0x1A); ????????mDelaymS(100); ????????DevHIDKeyReport(0x00); ????????mDelaymS(200); ????????DevHIDKeyReport(0x06); ????????mDelaymS(100); ????????DevHIDKeyReport(0x00); ????????mDelaymS(200); ????????DevHIDKeyReport(0x0B); ????????mDelaymS(100); ????????DevHIDKeyReport(0x00); ????}
上述代碼驗證無問題。
但是,當(dāng)我將中間mDelaymS函數(shù)刪除,或者減少為mDelaymS(2)時則會出問題,具體體現(xiàn)為丟包。
所以,請問在wch的方案中,這個mDelaymS間隔最小是多少,這是芯片限制的呢還是USB HID的規(guī)定?
假設(shè)一個人敲鍵盤速度足夠快,是否代表著會丟包。
熱門產(chǎn)品 :
CH32V317: 互聯(lián)型青稞RISC-V MCU