使用CH552芯片,希望模擬鍵鼠設備與PC建立通信。
使用例程運行正常,所以希望拓展一下模擬設備功能。
現(xiàn)在想在USB初始化開始,進行SETUP事務時,先接受PC的設備描述符請求,進入USB中斷。此時假設不提前準備好描述符數(shù)據(jù),而是先向其他設備請求,一段時間后通過其他通道接受到描述符數(shù)據(jù),再將數(shù)據(jù)發(fā)往PC。
嘗試了將描述符的處理過程從例程的USB中斷處理中提取出來,作為一個獨立的函數(shù),另設標志位,在請求到來時,對標志位變更,然后根據(jù)標志位變化,在主循環(huán)實現(xiàn)對相關描述符數(shù)據(jù)的發(fā)送準備。
測試結果無法完成SETUP事務。
請問這個過程如何修改CH552例程實現(xiàn)?目前的例程只能在一個中斷內(nèi)完成數(shù)據(jù)的傳輸,要求提前準備好數(shù)據(jù)。若是設備主動發(fā)送數(shù)據(jù),才有鍵鼠點擊移動事件的例程。那么如何在不是設備主動發(fā)起數(shù)據(jù)發(fā)送的情況下, 不在請求到來的當次中斷內(nèi)返回數(shù)據(jù),而在數(shù)據(jù)準備完成后再發(fā)送呢?