|
使用的STM32_USB-FS-Device_Driver庫,創(chuàng)建HID,和模擬鍵盤Keyboard。工作中根據(jù)需要模擬鍵盤發(fā)送一批字符串。
也按照網(wǎng)上找的移植文檔進(jìn)行了更改。
相關(guān)代碼:
UserToPMABufferCopy(keyboardCodeBuf, GetEPTxAddr(ENDP3), 8); //發(fā)8個字節(jié)
SetEPTxCount(ENDP3, 8);
SetEPTxValid(ENDP3);
經(jīng)過調(diào)試發(fā)現(xiàn),GetEPTxAddr(ENDP3),如果返回0x01F0,就能正常工作。
有時會返回0xC36C,0xC34C ,則在進(jìn)入函數(shù)UserToPMABufferCopy中后會跳轉(zhuǎn)到HardFault_Handler。
反復(fù)測試,一段時間都是返回0x01F0,工作完全正常
又可能一段時間,返回0xC36C,0xC34C,則會產(chǎn)生硬件故障中斷。
有時上位機(jī)PC會產(chǎn)生無法識別的USB設(shè)備提示。
請指導(dǎo)故障原因。
非常感謝!
|
|