Board logo

标题: [B][求助]!908jb16, USB[/B] [打印本页]

作者: 流浪远方百合    时间: 2005-4-15 10:16     标题: [B][求助]!908jb16, USB[/B]

我现在要做关于usb的一个功能模块,通过manual,了解了中与usb相关的一些寄存器,以及一些最基本的descriptor,device request。可是不知从那着手,请教各位师父指点啊!
新手............万事开头难啊!!!!!!!!!!!!![em08][em13]
作者: maingao    时间: 2005-4-15 10:56

了解了这些之后可以试着用硬件跟计算机连接啊,让计算机的操作系统来列举吧!在列举过程中来响应这些Device Request。从而最后系统完全加载设备的驱动程序!其它没有什么方法,只有做啊!光看是没用的!
作者: 流浪远方百合    时间: 2005-4-15 11:14

是不是把那些标志的设备请求函数一一写入然后调试,
比如:Set Address(){
              
          }
作者: maingao    时间: 2005-4-15 11:31

是的。操作系统都有一个次序吧,你可以根据他的请求来应答。一个一个地调试工吧!如果操作系统认为他发出的请求是得到正确的答复,它会继续的。不然不会继续的。但有时候同一种请求会请求几次。
一般的顺序是先发出GET DESCRIPTOR的请求应该是三次,但是这三次是不用的指令,要求的是不用的DESCRIPTOR。然后再从你给的DESCRIPTOR描述符中找出相应的信息,然后再SET CONFIG和SET INTERFACE。
当然要看你是什么类的设备了。操作系统的列举也不是完全一样的。
作者: 流浪远方百合    时间: 2005-4-19 14:13

usb和计算机已经连接,现在如果可以发设备请求的话,是不是刚开始用Get Status(00H)入手啊!!
作者: maingao    时间: 2005-4-19 17:21

一般的来讲应该是计算机向设备要描述符!Get  Descriptor.你可以设置断点,看看收到的是什么?还可以用Bus Hound看吧!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0