注:此仅为个人学习笔记,如有错误欢迎指正!
FS2410 USBD枚举过程小记:
1. 读描述符
把D+拉高之后,主机检测到USB插入,此时复位设备。
主机通过地址0发送获取设备描述符的标准请求。
USBD发送设备描述符给主机,主机写SETUP_END标志。
2. 设置地址
主机再次复位设备,开始设置地址。
设备设置DATA_END应答。
此时建立过程完成,开始进入状态过程。
3. 读描述符
主机再次获取设备描述符, 据说第一步的描述符只需要给8个字节即可,我为了省事,都是全部发送的——当然不是一次发完的。
4. 读取配置, 9
主机请求读取配置,第一次请求的长度是9,此时只发送配置信息即可。
主机再次请求读取配置信息,此次请求的长度大于9,我们需要发送整个配置集合:
配置描述符
接口描述符
输入端点
输出端点
5. 读字符串
由于使用了字符串描述符,所以主机还会请求读字符串。
6. 读描述符
主机再次请求读取配置集合
7. 设置配置信息
主机设置配置信息
到此暂时认为枚举结束吧。
我就做到这一步了,继续努力!
文章评论(0条评论)
登录后参与讨论