看周立功的枚举过程列出来的数据――其中设备应答是怎么完成的呢?是否是那个应答SETUP命令就可以,为什么要对端点索引0和端点索引1都要应答一次?还有,我到现在都没搞清楚――到底D12的端点索引0和端点索引1是不是共用的缓冲区,还是它们各自拥有自己的缓冲区?我现在可以接受到主机第一...
全文
回复(7) 2003-12-19 09:06 来自版块 - USB驱动开发
表情
mailxufengflycat0101说得对,我那段话确实有误导的嫌疑,在这里向Wxy8030表示道歉。一个完整的控制模式下传输事务就像flycat0101所说,在这里我做一点补充:如果上传数据不是端点0缓冲区大小的整数倍的话,那么上传的最后一个数据包必小于缓冲区大小,也就向主机宣告了本次数据阶段...(2003-12-19 16:04)
Wxy8030呵呵,没事没事,这个我大概知道了,,,,,,(2003-12-19 14:16)
flycat0101清空缓冲区命令是针对端点索引0的,即OUT缓冲区,使缓冲区有效命令是针对端点索引1的,即针对IN缓冲区,IN和OUT都是针对主机而言,ACK当然是设备发往主机的啊,表示正确应答了主机的SETUP包啊。 拜托,仔细看看协议吧,不要误导别人。 ――“主机通过SETUP包...(2003-12-19 14:13)
mailxufeng清空缓冲区命令是针对端点索引0的,即OUT缓冲区,使缓冲区有效命令是针对端点索引1的,即针对IN缓冲区,IN和OUT都是针对主机而言,ACK当然是设备发往主机的啊,表示正确应答了主机的SETUP包啊。(2003-12-19 11:46)
flycat0101不好意思,还要请教啊―― 还有――“主机通过SETUP包的形式向设备发调档命令,设备接收到命令分析后把相应档案资料上传,而在资料数据发送完后都要发一个ACK(0字节数据包)作为正确应答。” 此ACK是主机发到从机,还是从机自己发出的? 此处是主机发给设备。...(2003-12-19 11:06)
Wxy8030不好意思,还要请教啊―― 既然IN、OUT缓冲区是分开的,SETUP包只会出现在OUT的缓冲区内,并不影响IN缓冲区啊?为什么也要禁止IN缓冲区的清空和使缓冲区有效这两个命令呢?应答端点索引0我可以理解,为什么要应答端点索引1就有点模糊了,,,(是否是D12就这么规定的,接...(2003-12-19 10:38)
mailxufeng呵呵,D12规定每收到1个SETUP包就会屏蔽2条命令(清空缓冲区命令和使缓冲区有效命令)以保证SETUP包的完整性(不受破坏),所以接收到数据包以后需要用应答命令重新使这两条命令有效,否则你将不能发送数据,端点索引0和1的缓冲区是分开的,0负责接收(即OUT),1负责发送(即I...(2003-12-19 10:25)

返回顶部