基于STM32 的USB程序开发笔记 【 基于STM32 的USB程序开发笔记 】 目前市场上USB设备的种类繁多,但是这些设备会有一些共同的特性,根据这些特性可以 把USB设备划分为不同的类,如显示设备、通信设备、音频设备、大容量存储设备、人机 接口设备(HID)。 HID 类设备属于人机交互操作的设备。如 USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球、电话拨号设备、VCR遥控 等等设备。用于控制计算机操作的一些方面。(从Windows98操作系统开始,为HID类设备 提供了通用的驱动程序,所以只要按照HID设备类的规范编写设备的固件程序,就能够让 Windows系统自动识别设备,省去了复杂的驱动程序编写过程。) 使用HID 设备的一个好处就是,操作系统自带了HID 类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API 调用即可完成通信。所以很多简单的USB设备,喜欢枚举成HID 设备,这样就可以不用安装驱动而直接使用。 USB设备有4种传输方式与主机进行通信: 控制方式、中断方式、批量方式和同步方式。 HID只支持控制和中断传输方式。如图2所示,HID设备必须要有默认的控制管道和一个中 断输入端点;中断输出端点是可选的。 ➢ 端点是地址,管道是路径; [pic] 图2 HID类设备使用控制和中断传输方式 1. STM32 的参考手册,这对于设备底层 USB 的硬件配置以及事件驱动机制的了解尤为重 要,你需要了解各个寄存器的功能以及如何操作,比如 CNTR、ISTR、EPnR、DADDR 等 等,如果你想学习 USB,这个手册是必须的。 2. USB2.0 协议;第9章USB Device Framework 的详细理解对于你的 USB Device 固件 开发不可缺少(这里就是 STM32)。 3. ST提供的U……