请问一下D12的中断寄存器里的各个位是在什么情况下会置位的?
按照我之前的理解,D12的端点0接收到PC发过来的请求命令就会置“控制输出端点”这个位,同理,当端点0向PC发送完了数据之后,“控制输入端点”会置位。
但是我现在的现象是,接收到控制输出中断,清中断位,应答Setup包这些操作完了之后就开始不断的收到控制输入的中断了,这个时候我还没有写向PC机返回数据的程序,怎么产生的控制输入中断呢?
还有一个现象是,Set地址完再返回配置描述符之后,读中断寄存器竟然是0x03,也就是输入输出都产生了中断??不明白这是怎么回事?看到配置描述符返回是正确的。 |