阅读:1072回复:5
极其困惑,请您指点!60分!
我想知道:在控制输入时,是不是HOST只对DEVICE的ENDPOINT0,IN发送命令?
即当读中断寄存器时,发现其第1位是1(控制输入端点),是单纯的发送数据呢,还是要判断是否SETUP包,是何种设备请求,如何响应? |
|
沙发#
发布于:2003-11-01 13:35
忽然,茅塞开了一点。
是不是,端点0只是一个地址,而在D12中断寄存器中的断点0IN或OUT只是告知MCU,是HOST要读取数据还是HOST发来了数据,而要是读取数据实际上只有一条指令(IN);要是发来了数据,就的看看PID是DATA还是SETUP,在分别判断执行。 对否,谢谢! |
|
板凳#
发布于:2003-11-03 08:18
为什么看得不少,却没人回答?
|
|
地板#
发布于:2003-11-03 09:03
应该是host发来setup,要求mcu返回相应的值;而mcu读d12的端点索引(OUT)的数据,根据发来的数据判断是data或是setup,如果是setup,就通过d12的端点索引1(IN)返回相应的值。
IN和OUT是针对host来说的。 |
|
|
地下室#
发布于:2003-11-03 09:31
对host来说都是对端点的IN端输入数据,DEV要分辨endpoint0数据是data还是cmd要看是否符合setup包大小,cmd是否正确。
|
|
5楼#
发布于:2003-11-04 16:33
关于D12的:请问在收到设置包后,为什么要设置一个设置包标志位??
判断处理标准设备请求,是不是在设置包标志位置一后执行? |
|