打印

求助:usb的驱动程序

[复制链接]
3316|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
86hupeng|  楼主 | 2009-2-4 14:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠:我请教了
    我现在正在搞usb接口,用的c8051f321芯片,图画好了,现在就是不知到怎么写驱动程序,请高手救我!
    我懂c与汇编语言,请问usb的驱动程序分为哪几个部分?需要哪几个函数?哪几个头文件?他们的关系如何?
十分感谢@!  
我急啊,我的QQ:516384121
mail:86hupeng@163.com
 


现在东西搞出来了,有个问题请教一下:
安装驱动后有个问题:
驱动在计算机某个接口安装后只在这个接口起作用,如果想在其他usb口使用设备的话必须再安装一次驱动。也就是说一个计算机四个usb口,要全部能用的话要安装四次,请问怎么修改源驱动,使一台计算机只在某一个usb接口安装一次后所有的usb都能识别设备。
附件中有源程序。
是不是在.inf文件中改?

相关帖子

沙发
古道热肠| | 2009-2-4 16:35 | 只看该作者

拜Computer00为师吧

关键是自己要下功夫,学习的事,谁都帮不上忙.

使用特权

评论回复
板凳
computer00| | 2009-2-4 17:46 | 只看该作者

晕...俺自己都还没搞清楚...

使用特权

评论回复
地板
NE5532| | 2009-2-4 21:35 | 只看该作者

你要写单片机还是PC的程序?

使用特权

评论回复
5
xhtxzxw| | 2009-2-5 02:33 | 只看该作者

嘿嘿

貌似有U口的单片机, 它娘家的网站上都会提供样例代码吧? 结合数据手册, 改一改, 自己应该能搞出来的.
纯粹自己写,有难度.  一是对USB协议要很清楚, 二是USB协议在不同厂家的片子上实现起来,细节差异还是很大的.

使用特权

评论回复
6
sz_longyue| | 2009-2-5 09:20 | 只看该作者

楼主是想写设备端的程序吧?

MCU端的程序找IC原厂要个DEMO CODE修修改改就可以了
要说写驱动,要看你是什么设备,HID设备是不用驱动的

使用特权

评论回复
7
86hupeng|  楼主 | 2009-2-5 10:37 | 只看该作者

补充

在这先谢谢各位的指导;
我写的是单片机的控制程序,一个很小的片子,上面集成了8051和usb的一些东西,2k的ram和16k的flash,我想:
1.应该有两个mpu,分别是8051和usb,16k的flash为8051与usb 共用,那么我的程序是写在哪个区域?是8051还是usb的flash区域?
2.我看了usb的协议,知道有格式要求,知道usb的程序分为两部分(固件驱动即单片机程序、应用程序即pc机程序),对于固件来说,它要与pc通信,就要包含一些头文件,以及做一些预处理,(也就是所谓的驱动,调用函数、关键字定义等)以便确保能与pc说话。我现在就是不知道这些所谓的驱动它的运行关系是怎样的?
3.我看了驱动的例子,但是看不懂,主要是不懂它的整个流程与某些语句的作用。等下我把程序拷过来,希望有大虾能给我解惑!
谢谢!

使用特权

评论回复
8
computer00| | 2009-2-5 11:25 | 只看该作者

老兄,USB不是这么简单的,不是几个头文件就可以搞定的

牵涉到的东西太多。

使用特权

评论回复
9
86hupeng|  楼主 | 2009-2-5 13:30 | 只看该作者

补充3

回复computer00:大哥,我知道不简单,教我行不?我很好学的。
    

使用特权

评论回复
10
xhtxzxw| | 2009-2-6 04:23 | 只看该作者

嘿嘿

USB设备,按照相关的协议规定,被分成几个大的类型,比如:

人机接口类: HID设备(典型设备例子:键盘/鼠标/数字化仪等)
通信类:     CDC设备(典型设备例子:把USB模拟成一个RS232或RS485串口等)
海量存储类: MassStorage设备(典型设备例子: 油盘)

不同的设备类,在设备端有不同的描述符(每大类设备各自的描述符本身又分成好多种[设备描述符,端口描述符,...], 呵呵,复杂的DD,这是USB协议的核心),对应的设备驱动程序当然也完全不同;  所以首先LZ应确定,你准备实现的设备属于哪个设备类???然后,去芯片娘家的网上找对应类的样例代码(代码中肯定会包括对应的若干个描述符,以及相关的程序代码).找好以后,结合注释,适当修改一下,一般就行了.

在PC端,对应不同类的设备,一般有通用的驱动程序,而且,很多都是自动识别/安装的,一般不需要自己写, 使用通用驱动程序的前提条件是: 你的设备,确实满足USB协议的严格要求.

 

使用特权

评论回复
11
computer00| | 2009-2-6 08:26 | 只看该作者

等过段时间买本我的书读读吧,是讲USB设计的。

使用特权

评论回复
12
86hupeng|  楼主 | 2009-2-6 10:41 | 只看该作者

补充4

我的操作很简单
入口条件:两路输入信号,一路ck,一路data
处理:把data通过usb口传给pc机
我选的芯片是带usb口的mpu(8051芯片)

我现在正在研究usb协议与单片机的说明书。感觉有些难消化,反正现在自己是糊里糊涂的。
真的希望有个人教,一个人摸索好烦好难!

使用特权

评论回复
13
雁舞白沙| | 2009-2-7 02:06 | 只看该作者

自己琢磨,一个字:累啊

老兄,USB不是这么简单的,不是几个头文件就可以搞定的 

牵涉到的东西太多。
 
 
累的俺苦干了73小时,其中一个小时睡觉!

结果还是放弃了,经过13个小时后,又感觉明白,最终可以啦!

呵呵,需要自己多读书,都好书,圈圈的书,是否可以送俺一份?

使用特权

评论回复
14
simon21ic| | 2009-2-7 02:25 | 只看该作者

会者不难,难者不会

使用特权

评论回复
15
86hupeng|  楼主 | 2009-2-7 11:12 | 只看该作者

补充5

会的不难,难的不会;
正因为难所以才学,不难我也不用这么辛苦了,但是正是因为难才更加坚定了我的决心:征服它,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

233

帖子

2

粉丝