appleluok
驱动牛犊
驱动牛犊
  • 注册日期2005-03-03
  • 最后登录2005-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1737回复:5

usb通讯

楼主#
更多 发布于:2005-03-10 10:32
我想问一下,怎么可以通过cpu查询usb。可否讲解,有资料也可以哦,有代码更好,谢谢哦,小女子刚闯江湖,业务不熟,谢了
sjlou1126
驱动牛犊
驱动牛犊
  • 注册日期2005-03-04
  • 最后登录2006-09-25
  • 粉丝0
  • 关注0
  • 积分112分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-11 09:43
  usb刚刚接上的时候,usb控制器就会检测到设备发生变化,具体是有电压变化来感应的!当usb控制器发现设备发生变化的时候,它就会向主机发出一个要求主机询问的数据包!然后由主机来控制或许设备详细资料!
   按你所说的 由主机自动发出询问,或许可以~但我觉得没这个必要~~  如果由主机定时的询问usb控制器,有没有设备更新,这样会浪费cpu时间~。如果一个应用程序来发出询问,那更加没必要了~因为当你一插上你的usb设备,系统就给你自动初始化。你只需要管数据通讯就行了,这样不是更方便吗?
Huaining Pei
驱动牛犊
驱动牛犊
  • 注册日期2005-03-02
  • 最后登录2005-12-13
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-10 17:41
现代计算机的体系结构是分层管理的,以USB设备为例,USB设备事实上是通过PCI总线于其它资源及管理器打交道,USB设备管理器在硬件上负责与PCI总线通讯,这就是说USB设备管理器就像一个桥把设备和pci总线连接在一起,没有它是不行的
appleluok
驱动牛犊
驱动牛犊
  • 注册日期2005-03-03
  • 最后登录2005-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-10 13:29
谢谢你的回答,我尽量说清楚我的意思,现在有个程序在setup_uhci
之前,要发个中断请求,我理解的就是usb控制器向cpu发出的中断请求,我想这个应该是通信的第一次握手,现在就有问题了,如果我想不通过usb控制器发出中断请求,而是cpu查询,可不可以!?(我想如果按照学校学的理论应该是还有这种方式),不知道我现在表达清楚我的意思没有,我是不明白,希望多多指导,多批评!!!(人身工攻击就不要了)
appleluok
驱动牛犊
驱动牛犊
  • 注册日期2005-03-03
  • 最后登录2005-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-10 12:41
哦。可能我表达错了,我的意思是等待主机查询,而不是usb控制器想cpu发出中断请求!!!
sjlou1126
驱动牛犊
驱动牛犊
  • 注册日期2005-03-04
  • 最后登录2006-09-25
  • 粉丝0
  • 关注0
  • 积分112分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-03-10 12:34
  通过cpu查询usb???usb设备是通过usb主控制器和计算机进行通讯的~如果要访问usb端口,就需要和usb主控制器打交道。而主控制器控制usb是有专门的usb协议来支持的~
所以在固件开发上就必须严格遵循usb协议!!
如果只是开发上层的usb应用程序,那你可以去看看 MSDN!
用DDK开发的~
游客

返回顶部