大家好!
本人刚刚开始学USB,在学习圈圈的书本时有一个问题一直不明白。比如书上这句话:“对于D12的控制端点,接收到建立包后必须要使用一个特殊的命令才能让Clear Buffer命令和Validate Buffer命令生效,这个命令是Acknowledge Setup。”
然后在代码中,紧接着函数D12ReadEndpointBuffer(0,16,Buffer);之后又调用了函数 D12AcknowledgeSetup();
这里我想问的是:单从代码来看,应答建立包是由单片机发送给D12端点的,那难道这里单片机是主机吗?不是应该是由主机(也即PC)来发送这个应答建立包吗?
从这个问题引申出来的问题就是:单片机、D12、PC机三者之间的关系是怎样的?他们各自的角色或功能是什么? 有时候单从代码来看,经常有一种把单片机(AT89S52 )当做主机的困惑……
本人新手,还望大家多多指教,先谢谢了!
|