阅读:905回复:1
20分问一个可能是很弱但是很关键的问题
各位大侠,问一个可能是很弱但是很关键的问题:
当主机发来要求描述符的命令时,到底是(1)马上应答然后在接收中断里发送其余的数据,还是(2)先设置发送标志位,然后等待接收中断,等到中断来了之后再开始发送所有的描述符? 我用的是第一种方式,用Windriver编了驱动,可以读写一些数据,但是经常死机。我自己感觉可能是这种方式不对,不知哪位大侠能给一个清晰的解释,20分感谢! 附件是我的C程序和原理图。图中有些错误,实际上dma管脚接了高电平,SUSPEND接了地,永不挂起。 |
|
|
沙发#
发布于:2003-09-13 23:40
你的马上应答是什么意思?
控制传输必须完成数据阶段后才能是握手阶段,不能把最后两个步骤反过来的,当你收到setup包时,会有第一个setup中断产生,在这个中断里尼把8字节的setup包读出来并根据要求进行数据阶段的操作,如果主机收到数据就会有ep0tx中断,如果之前你没有把描述符发完,可以在这个中断里接着发,如果发玩了就直接给主机一个空包表示数据阶段结束即可。 |
|