阅读:1169回复:0
这样理解对吗?
主机给外设发请求(比如getdescriptor),先存放在ep0out的fifo,然后产生中断,mcu通过读中断寄存器,知道是ep0rx中断,于是先清除中断寄存器,然后通过读上一次传输状态,知道是setup包。就把ep0fifo中的数值传到controldata.devicerequest中,然后进行相应的处理。(这个过程对吗?)
1. 那么如果是 get demmand,需不需要把状态置成transmit,我看到有人好像还是置成idle. 2.把描述符写入ep0inbuffer后,主机什么时候取走呢?就是先发一个in包,需不需要判断状态(idle,transmit,receive). 先问这些吧,很早就开始作,才发现很多基本的过程没有搞得很透彻。 请大家帮忙了!!谢谢 |
|