是因为windows自带了USB总线驱动程序,
USB总线驱动程序负责:
识别USB设备,给USB设备找到对应的驱动程序
新接入的USB设备的默认地址(编号)是0,在未分配新编号前,PC主机使用0地址和它通信...,
比如:鼠标的数据是从鼠标传到PC机, 对应的端点称为"中断输入端点"
其中端点0是设备的默认控制端点, 既能输出也能输入,用于USB设备的识别过程
同样linux内核也自带了USB总线驱动程序,框架如下...(),来看看它是怎么设置usb_device的
1 usb_alloc_dev(struct usb_device *parent, struct usb_bus *bus, unsigned port1...其中usb_bus_type是一个全局变量, 它和我们之前学的platform平台总线相似,属于USB总线, 是Linux中bus的一种....= usb_resume, //唤醒函数
};
6.我们进入hub_port_connect_change()->choose_address(),来看看它是怎么分配地址编号的