2017-03-17 38 views
0

在阅读很多网站时,我感到困惑。USB驱动程序的确切功能是什么?

USB驱动程序对于使设备正常工作至关重要吗?还是让它与操作系统进行通信来完成诸如打印和其他操作系统的功能?


为了更清楚地说明我的问题 -
我开发一个USB设备,将与软件我会写沟通工作。

我是否需要为这样的系统开发驱动程序?

我只是需要软件程序来发送适当的消息到设备?

+0

有2个USB驱动程序:一个用于PIC,一个用于连接PIC的机器。你对哪一个感到困惑? – cup

+0

@cup两个!我需要一个驱动程序的图片?为什么?问题之一说,如果我有一个与图片进行通信的程序,我是否还需要一个驱动程序才能使其工作? – user3407319

+0

@cup多一个问题,我需要微芯片的USB框架与USB工作?或者它只是一个让工作更轻松的图书馆? – user3407319

回答

2

我假设你的微控制器将是一个USB设备,你的电脑将成为USB主机。

下图是USB主机的SW架构。现在,由于您的主机是PC,因此除了顶部的应用程序之外,您无需担心任何部分。

所以我们来谈谈设备。您需要的是与下面的主机堆栈类似的设备堆栈。您可以轻松获取设备堆栈并将其移植到您的微控制器中。但是我想你的设备中需要一个应用程序,它与下图的顶部框相同,它将理解来自主机的请求并为请求提供服务。

enter image description here

所以基本上我在说什么,你需要两个应用程序和组件的其余部分可以用一些努力得到它。

问候。

+0

类驱动程序和USB驱动程序有什么区别?我是否需要实现两者?以及哪些图层我不必担心,图片会为我做什么?非常感谢.. – user3407319

+0

类驱动程序 - 类驱动程序知道设备的行为。例如,如果您连接USB驱动器,类驱动程序会知道该设备的描述符结构以及如何与USB笔驱动器进行通信。同样,HID设备的类驱动程序也知道HID设备应该如何工作。 – Shaibal

+0

USB驱动程序 - USB驱动程序为类驱动程序开发人员提供了与主机控制器驱动程序通信的简单接口。主机控制器驱动程序API并不那么简单。它有复杂的结构。但是为什么麻烦许多细节的类驱动程序开发人员。所以USB驱动为类驱动提供了一个简单的API来进行通信。 – Shaibal