版块
论坛
喜欢
话题
应用
搜索
登录
注册
Wxy8030的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=18308
D12如何“设备应答”?
看周立功的枚举过程列出来的数据――其中设备应答是怎么完成的呢?是否是那个应答SETUP命令就可以,为什么要对端点索引0和端点索引1都要应答一次?还有,我到现在都没搞清楚――到底D12的端点索引0和端点索引1是不是共用的缓冲区,还是它们各自拥有自己的缓冲区?我现在可以接受到主机第一...
全文
回复
(
7
)
2003-12-19 09:06
来自版块 -
USB驱动开发
◆
◆
表情
告诉我的粉丝
提 交
mailxufeng
:
flycat0101说得对,我那段话确实有误导的嫌疑,在这里向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)
回复
Wxy8030
加关注
写私信
0
关注
0
粉丝
154
帖子
返回顶部