首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[B][求助]!908jb16, USB[/B]

[B][求助]!908jb16, USB[/B]

我现在要做关于usb的一个功能模块,通过manual,了解了中与usb相关的一些寄存器,以及一些最基本的descriptor,device request。可是不知从那着手,请教各位师父指点啊!
新手............万事开头难啊!!!!!!!!!!!!![em08][em13]
不断学习,摸索中进步!
了解了这些之后可以试着用硬件跟计算机连接啊,让计算机的操作系统来列举吧!在列举过程中来响应这些Device Request。从而最后系统完全加载设备的驱动程序!其它没有什么方法,只有做啊!光看是没用的!
Gulf
是不是把那些标志的设备请求函数一一写入然后调试,
比如:Set Address(){
              
          }
不断学习,摸索中进步!
是的。操作系统都有一个次序吧,你可以根据他的请求来应答。一个一个地调试工吧!如果操作系统认为他发出的请求是得到正确的答复,它会继续的。不然不会继续的。但有时候同一种请求会请求几次。
一般的顺序是先发出GET DESCRIPTOR的请求应该是三次,但是这三次是不用的指令,要求的是不用的DESCRIPTOR。然后再从你给的DESCRIPTOR描述符中找出相应的信息,然后再SET CONFIG和SET INTERFACE。
当然要看你是什么类的设备了。操作系统的列举也不是完全一样的。
Gulf
usb和计算机已经连接,现在如果可以发设备请求的话,是不是刚开始用Get Status(00H)入手啊!!
不断学习,摸索中进步!
一般的来讲应该是计算机向设备要描述符!Get  Descriptor.你可以设置断点,看看收到的是什么?还可以用Bus Hound看吧!
Gulf
返回列表