使用CH552芯片,希望模拟键鼠设备与PC建立通信。
使用例程运行正常,所以希望拓展一下模拟设备功能。
现在想在USB初始化开始,进行SETUP事务时,先接受PC的设备描述符请求,进入USB中断。此时假设不提前准备好描述符数据,而是先向其他设备请求,一段时间后通过其他通道接受到描述符数据,再将数据发往PC。
尝试了将描述符的处理过程从例程的USB中断处理中提取出来,作为一个独立的函数,另设标志位,在请求到来时,对标志位变更,然后根据标志位变化,在主循环实现对相关描述符数据的发送准备。
测试结果无法完成SETUP事务。
请问这个过程如何修改CH552例程实现?目前的例程只能在一个中断内完成数据的传输,要求提前准备好数据。若是设备主动发送数据,才有键鼠点击移动事件的例程。那么如何在不是设备主动发起数据发送的情况下, 不在请求到来的当次中断内返回数据,而在数据准备完成后再发送呢?