USB

USB 库提供了一组数据类型和功能,用于创建 USB 设备、主机或双模应用程序。USB 库可以在 C2000Ware 安装程序的 /libraries/communications/usb 目录中找到。提供了 USB 库的预构建库和源代码。主机、设备和双模式运行的参考示例也包含在 C2000Ware 安装程序的 Driverlib 示例目录中。USB 库主要分为以下几组:设备模式特定功能、主机模式特定功能和通用功能。

USB 库的设备模式功能提供了四个与 USB 设备应用程序开发相关的 API 层:

  • 设备类 API

  • 设备类驱动程序 API

  • USB 设备 API

  • USB DriverLib API

设备模式 USB 功能的源代码和头文件可以在 USB 库树的设备目录中找到,通常是 libraries/communications/usb/<device>/include/device 和 libraries/communications/usb/<device>/source/device。

USB DriverLib API 提供 USB 设备栈中的最低层 USB 驱动程序。这通常不用于任何应用程序的开发,但可用于 USB 栈的开发。USB 设备 API 提供了一组功能,专门用于开发功能齐全的 USB 设备应用程序。这些 API 可以用于 USB 设备类驱动程序的开发,也可以直接使用。

设备类驱动程序 API 为希望以超低的应用程序开销提供特定 USB 特性的应用程序提供高级 USB 功能。目前提供了设备类驱动程序,以便创建通用批量设备、通信设备类(虚拟串行端口)设备和人机接口设备类设备(鼠标、键盘等)。

设备类 API 提供了一个附加层来专门处理设备操作并简化与应用程序的接口。

USB 库的主机模式功能提供以下四个层:

  • 设备 API(鼠标、键盘、文件系统)

  • 主机类驱动程序 API(HID、海量存储、集线器)

  • 主机控制器 API

  • DriverLib USB 驱动程序 API

设备主机模式 USB 功能的源代码和头文件可以在 USB 库树的设备目录中找到,该目录通常是 libraries/communications/usb/<device>/include/host 和 libraries/communications/usb/<device>/source/host

USB DriverLib API 提供 USB 设备栈中的最低层 USB 驱动程序。这通常不用于任何应用程序的开发,但可用于 USB 栈的开发。

主机控制器 API 提供了提供设备枚举所需的全部功能。这是直接与 DriverLib USB API 交互的最低层驱动程序接口。

主机类驱动程序提供对使用普通 USB 类接口的设备的访问。目前,USB 库支持以下 USB 类驱动程序:海量存储类 (MSC) 和人机接口设备 (HID) 及集线器。

主机设备 API 为 HID 鼠标、HID 键盘和海量存储设备提供接口

USB 库中包含的通用功能并非特定于 USB 主机或设备操作,而是为 USB 应用程序开发中的一般用途而提供的。

通用 USB 功能的源代码和头文件可以在 USB 库树的顶层目录(通常是 libraries/communications/usb/<device>/includelibraries/communications/usb/<device>/source)中找到。