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