资料介绍
基于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