USB鍵盤在正常使用時,無論你手速有多快,PC均可正確識別每次按下的按鍵; 我用CH375做USB主機,檢測鍵盤上傳的數(shù)據(jù),漏檢率可達(dá)30%; 程序中MCU檢測375的中斷時間間隔為30us,用示波器查看,鍵盤每次按下都會上傳數(shù)據(jù)給375,但是MCU就是沒有正確讀取375輸出端的數(shù)據(jù)導(dǎo)致按鍵檢測失?。磺笥薪?jīng)驗人士指導(dǎo)一二! 有沒有誰了解PC端是以怎樣的方式讀取外設(shè)上傳給它的數(shù)據(jù)?
查看: 1499
回復(fù): 3
[討論]有關(guān)USB數(shù)據(jù)上傳PC端問題
shuishou_buyouyv
發(fā)表于: 2013-09-10 15:44:00
熱門產(chǎn)品 :
CH32L103: 32位PDUSB低功耗單片機
你MCU端可以用外部中斷的方式,當(dāng)有按鍵來的時候就進入中斷處理函數(shù)讀取鍵值,不需要去不斷檢測中斷,這樣的話已更改不會漏檢了。
shuishou_buyouyv
發(fā)表于: 2013-09-11 18:07:00
這種方式嘗試過,效果和查詢375中斷一樣,最主要的問題是:KB每次按下之后,與375之間的通訊都是正常的;而MCU得到中斷,讀取375緩存器的值,卻經(jīng)常得到“14H,14H,14H...”,實在不明白要改進哪里
MCU得到中斷后需要發(fā)送CMD_GET_STATUS讀取一下中斷狀態(tài),并撤銷中斷。然后從中斷端點獲取KB數(shù)據(jù)。0x14感覺是你獲取到的中斷狀態(tài)。
請勿發(fā)布廣告和違法內(nèi)容, 代碼可以選擇編輯器代碼語言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務(wù)您
只有登錄才能回復(fù),可以選擇微信賬號登錄