WinCE下,usb问题

fishly_0 2009-07-15 09:49:11
之前没有搞过usb的驱动,查了些资料后,有些问题似懂非懂,向大家请教下,
1,我将一个usb device插入pc,用usbview看到的 0x82,0x02 端点,这一对端点是不是一定要配对使用?另外0x82是代表向device发送数据的端点吧(即device接收usb数据的端点)

2,假设一个usb device 有0x82,0x02 ,0x84,0x04,0x86,0x06这些端点。 我看usb的驱动里面,先是扫描device有几个端点,然后再根据端点的属性CreateBulkIn,CreateBulkOut(假设是bulk端点),但是发送数据时我却没有看到有指定哪个端点发送数据。 因为我发送的数据是有格式和先后顺序的,那么这样随机的选择端点发送会出现问题吗?
...全文
41 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
公共马甲0315 2009-07-21
  • 打赏
  • 举报
回复
好多分呀!
显然数据发送不是随机选择端点的。你应该知道usb设备上电后的枚举过程吧?
1 通过查询Hub获得准确信息
2 等待设备复位
3 使能端口,寄存器初始化,通过默认地址对总线请求进行响应
4 上位机为usb设备分配一个设备地址
5 在设备获得指定地址之前,仍然按照默认地址来通讯
6 上位机获取设备配置信息
7 主机向设备发出配置请求--设备成功响应后才完成设备的配置

注意的是第5步!如果设备没有完成相应的配置,那还是以默认的地址来通讯的,我们知道,默认的地址就是0x00。
你光看程序是没用的,这个最好还是去看看参考书了。
fishly_0 2009-07-16
  • 打赏
  • 举报
回复
自己顶一下。

2,641

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧