详细信息见《usb2.0标准协议》Chapter 9 USB Device Framework 章节。
一、usb 枚举概述
二、移植STM32官方USB库
详细内容见《四、STM32官方USB库》章节。
三、usb 枚举过程分析
1、通过串口日志概要分析
在每种类型中断中添加一句打印信息,通过 stm32 中串口输出日志信息概要分析启动流程。
日志内容:
// usb模块启动
[23:13:54.770] uart init successful!
[23:13:54.770] ISTR_ESOF Handler
[23:13:54.770] ISTR_ESOF Handler
[23:13:54.770] ISTR_SUSP Handler
[23:13:54.774] ISTR_ESOF Handler
// usb插入电脑
[23:13:54.774] ISTR_WKUP Handler // 唤醒设备
[23:14:03.730] ISTR_RESET Handler // 复位设备
[23:14:03.780] ISTR_SOF Handler // 接收到SOF帧
[23:14:03.790] ISTR_SOF Handler
[23:14:03.790] ISTR_SOF Handler
[23:14:03.790] ISTR_SOF Handler
[23:14:03.790] ISTR_SOF Handler
[23:14:03.790] ISTR_SOF Handler
[23:14:03.790] ISTR_SOF Handler
[23:14:03.802] ISTR_SOF Handler
[23:14:03.802] ISTR_SOF Handler
[23:14:03.802] ISTR_SOF Handler
[23:14:03.802] ISTR_SOF Handler
[23:14:03.802] ISTR_SOF Handler
[23:14:03.802] ISTR_SOF Handler
[23:14:03.802] ISTR_SOF Handler
[23:14:03.811] ISTR_SOF Handler
[23:14:03.811] ISTR_SOF Handler
[23:14:03.811] ISTR_SOF Handler
[23:14:03.811] ISTR_SOF Handler
[23:14:03.811] ISTR_SOF Handler
[23:14:03.820] ISTR_SOF Handler
[23:14:03.820] ISTR_CTR Handler // 端点完成一次正确传输
[23:14:03.820] ISTR_SOF Handler
[23:14:03.820] ISTR_CTR Handler
[23:14:03.820] ISTR_SOF Handler
[23:14:03.824] ISTR_CTR Handler
[23:14:03.824] ISTR_RESET Handler // 复位设备
[23:14:03.872] ISTR_SOF Handler
[23:14:03.872] ISTR_SOF Handler
[23:14:03.872] ISTR_SOF Handler
[23:14:03.881] ISTR_SOF Handler
[23:14:03.881] ISTR_SOF Handler
[23:14:03.881] ISTR_SOF Handler
[23:14:03.881] ISTR_SOF Handler
[23:14:03.881] ISTR_SOF Handler
[23:14:03.893] ISTR_SOF Handler
[23:14:03.893] ISTR_SOF Handler
[23:14:03.893] ISTR_SOF Handler
[23:14:03.893] ISTR_SOF Handler
[23:14:03.893] ISTR_SOF Handler
[23:14:03.893] ISTR_SOF Handler
[23:14:03.893] ISTR_SOF Handler
[23:14:03.902] ISTR_SOF Handler
[23:14:03.902] ISTR_SOF Handler
[23:14:03.902] ISTR_SOF Handler
[23:14:03.902] ISTR_SOF Handler
[23:14:03.902] ISTR_SOF Handler
[23:14:03.902] ISTR_CTR Handler
[23:14:03.911] ISTR_SOF Handler
[23:14:03.911] ISTR_CTR Handler
[23:14:03.911] ISTR_SOF Handler
[23:14:03.911] ISTR_SOF Handler
[23:14:03.911] ISTR_SOF Handler
[23:14:03.920] ISTR_SOF Handler
[23:14:03.920] ISTR_SOF Handler
[23:14:03.920] ISTR_CTR Handler
[23:14:03.920] ISTR_SOF Handler
[23:14:03.920] ISTR_CTR Handler
[23:14:03.929] ISTR_SOF Handler
[23:14:03.929] ISTR_CTR Handler
[23:14:03.929] ISTR_SOF Handler
[23:14:03.929] ISTR_CTR Handler
[23:14:03.929] ISTR_SOF Handler
[23:14:03.929] ISTR_CTR Handler
[23:14:03.942] ISTR_SOF Handler
[23:14:03.942] ISTR_CTR Handler
[23:14:03.942] ISTR_SOF Handler
[23:14:03.942] ISTR_CTR Handler
[23:14:03.942] ISTR_SOF Handler
[23:14:03.942] ISTR_CTR Handler
[23:14:03.942] ISTR_SOF Handler
[23:14:03.951] ISTR_CTR Handler
[23:14:03.951] ISTR_SOF Handler
[23:14:03.951] ISTR_CTR Handler
[23:14:03.951] ISTR_SOF Handler
[23:14:03.951] ISTR_CTR Handler
[23:14:03.960] ISTR_SOF Handler
[23:14:03.960] ISTR_CTR Handler
[23:14:03.960] ISTR_SOF Handler
[23:14:03.960] ISTR_CTR Handler
[23:14:03.960] ISTR_SOF Handler
[23:14:03.960] ISTR_SOF Handler
[23:14:03.972] ISTR_SOF Handler
[23:14:03.972] ISTR_SOF Handler
[23:14:03.972] ISTR_SOF Handler
[23:14:03.972] ISTR_SOF Handler
[23:14:03.972] ISTR_SOF Handler
[23:14:03.972] ISTR_SOF Handler
[23:14:03.972] ISTR_SOF Handler
[23:14:03.982] ISTR_SOF Handler
[23:14:03.982] ISTR_SOF Handler
[23:14:03.982] ISTR_SOF Handler
[23:14:03.982] ISTR_SOF Handler
[23:14:03.982] ISTR_SOF Handler
[23:14:03.991] ISTR_SOF Handler
[23:14:03.991] ISTR_SOF Handler
[23:14:03.991] ISTR_SOF Handler
[23:14:03.991] ISTR_SOF Handler
[23:14:03.991] ISTR_SOF Handler
[23:14:04.003] ISTR_SOF Handler
[23:14:04.003] ISTR_SOF Handler
[23:14:04.003] ISTR_SOF Handler
[23:14:04.003] ISTR_SOF Handler
[23:14:04.003] ISTR_SOF Handler
[23:14:04.003] ISTR_SOF Handler
[23:14:04.003] ISTR_SOF Handler
[23:14:04.012] ISTR_SOF Handler
[23:14:04.012] ISTR_SOF Handler
[23:14:04.012] ISTR_SOF Handler
[23:14:04.012] ISTR_SOF Handler
[23:14:04.012] ISTR_SOF Handler
[23:14:04.012] ISTR_SOF Handler
[23:14:04.021] ISTR_SOF Handler
[23:14:04.021] ISTR_SOF Handler
[23:14:04.021] ISTR_SOF Handler
[23:14:04.021] ISTR_SOF Handler
[23:14:04.021] ISTR_SOF Handler
[23:14:04.031] ISTR_CTR Handler
[23:14:04.031] ISTR_SOF Handler
[23:14:04.031] ISTR_CTR Handler
[23:14:04.031] ISTR_SOF Handler
[23:14:04.031] ISTR_CTR Handler
[23:14:04.043] ISTR_SOF Handler
[23:14:04.043] ISTR_CTR Handler
[23:14:04.043] ISTR_SOF Handler
[23:14:04.043] ISTR_CTR Handler
[23:14:04.043] ISTR_SOF Handler
[23:14:04.043] ISTR_CTR Handler
[23:14:04.043] ISTR_SOF Handler
[23:14:04.043] ISTR_CTR Handler
[23:14:04.052] ISTR_SOF Handler
[23:14:04.052] ISTR_CTR Handler
[23:14:04.052] ISTR_SUSP Handler
[23:14:04.052] ISTR_ESOF Handler
[23:14:04.052]