您好,我們用ch32v203c8t6做了個USB鍵盤設(shè)備,電腦開機的時候不識別,插拔一下就正常了,在電腦開機時設(shè)備有收到USBWakeUp_IRQHandler中斷事件,使用了很多方法處理無效,比如,重置USBD_Reset,調(diào)用USB_Istr()等都沒作用,而且中斷這里打印加多了,重新插拔都不識別了,請問應(yīng)該如何處理?不勝感激?。。?/p>
使用那個鍵盤鼠標(biāo)的也一樣問題,都是設(shè)備可以識別,但是USBD_ENDPx_DataUp發(fā)送失敗
你好,可能是有一個端點一直在上傳數(shù)據(jù),然后重啟之后,那個端點busy一直為1,原因是reset里沒有把端點的busy標(biāo)志位清零,在usb_prop.c中的USBD_Reset函數(shù)加入下面清零操作即可。
這個變量已經(jīng)處理過了,已經(jīng)能保證每次都調(diào)用上傳按鍵數(shù)據(jù)了,但是不能喚醒,能幫我看下相關(guān)代碼嗎
我看網(wǎng)上別人用了同一個芯片https://blog.csdn.net/ShenZhen_zixian/article/details/120216981,說是看門狗與ABP1時鐘的問題,進入睡眠的時候禁用一下,我不曉得如何處理,能講下相關(guān)的流程嗎
你好,中斷喚醒無法喚醒的原因是,在USB中斷里進入了睡眠,需要中斷嵌套,EXTI中斷搶占進來,才能喚醒。需要配置這幾個地方,第一個是需要讓USB的搶占優(yōu)先級低于EXTI的搶占優(yōu)先級(新例程默認(rèn)是這樣的),第二個是需要在啟動文件中修改嵌套等級,804這個寄存器輸入0x7,表示設(shè)置為2級嵌套。第三個是修改NVIC_GROUP為group1
獨立看門狗開啟后無法關(guān)閉,需要RTC定時喚醒去喂狗。窗口看門狗可以通過關(guān)閉APB時鐘關(guān)閉。
剛從官方主頁下載了一份,比較了一下,跟我用的是一樣的
原來的代碼邏輯沒有修改,我這個中斷應(yīng)該是沒問題的,因為用其它鍵盤喚醒后在windows輸入密碼界面,已經(jīng)能正常輸入了,只是電腦睡眠下去了無法喚醒