2024年5月8日发(作者:)

STM32F107USB代码详解

作者:泗年君2014/8/1

STM32F107USB从设备HID程序编写

一、前提准备

本文是基于STM32F107官方库文件3.5.0基础上完成的,首先要有以下资料准备:

(1)stm32基于3.5.0库的工程模板;

(2)stm32官方USB库文件(由于3.5.0官方库函数中不包括USB的官方库,因此需要

单独加入),下载地址:

/disk/home#path=%252F%25E5%25AD%25A6%25E4%25B9%25A0%25E

5%2585%25B1%25E4%25BA%25AB%252Fstm32%2520study%252Fusb%2520%25E5%2588

%2586%25E4%25BA%25AB

(3)stm32USB基础知识(这里不再赘述,网上有蛮多资料,推荐《STM32USB固件的

中文资料》和官方提供的本文讲述的USB库文件的官方说明);

(4)编程软件keilforarm;

(以上资料文件在链接中都有贡献!@^@多多支持)

注意:下面的内容:有颜色标注的是用户需要修改的内容

二、

USB

官方库详细介绍:

在下载官方库之后,从命名上可以明白,该库为stm32105,107,f2和F4等USB控制器的

主设备和从设备的官方库;

接下来,我们继续进入库文件介绍:

1

STM32F107USB代码详解

作者:泗年君2014/8/1

_hemresc:ST官方LOGO

Libraries:

CMSIS:ST官方内核说明及相应的源码(STM32F2xx_等等);

STM_USB_Device_Library:USB器件类的库函数;

STM_USB_HOST_Library:USB主设备类的库函数;

STM32_USB_OTG_Driver:USBOTG类的驱动和库函数;

Project:

USB_Device_Examples:USB器件类的官方例程;

USB_Host_Device_Examples:USB主从设备的官方例程;

USB_Host_Examples:USB主设备官方例程;

Utilities:该文件夹下包括STM32的扩展,比如SDIO、文件系统和官方评估板的简单驱动;

至此大家应该明白官方USB库中,重点就在USB_device_Library、Host_Library和

OTG_Library中了,由于本文主要讲解HID(人机接口设备)程序的实现,因此就不对HOST

做分析了;

对于USB_Device_Library中的文件,官方分为了core和Class进行分装;对于core文件夹

的源文件:

Scr:包含了USBdevice内核,USBIO请求和USB数据请求的源代码;

Inc:USB内核头文件,(usbd_conf_template.h为模板,用户需要自行添加使用到的USb功

能定义,usbd_usr.h:用户需要添加用户自定义的函数声明和变量定义);

2