- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32_USB-FS-Device_Lib
STM32_USB-FS-Device_Lib
深入解析 SSTTMM3322__UUSSBB--FFSS--DDeevviiccee__LLiibb库
说明:这个是我学习STM32USB编程时的总结,其中的部分内容是
英文文档直接复制过来的,不影响我的阅读,并且我有时也觉得不能
准确表达原文的意思,所以我就没有翻译。
声明:该文档只供学习之用,任何用于其他目的的行为,需征得本人
同意。
董鸿勇
2009.12.15
donghongyong@
QQ:262559202
图1 展示了一个典型的USB应用与USB-FS-Device library的关系图。我们可以看出图中由3
个层构成分别是:外围硬件(hardware)、STM32_USB-FS_Device_Lib和用户层(User
application)。我们从下到上来分析:
图1 典型的USB应用与USB-FS-Devicelibrary的关系图
1. (hardware)
1. (hardware)
11..外围硬件((hhaarrddwwaarree))
就是我们的购买的芯片STM32F10XXX和开发板
2 STM32_USB-FS_Device_Lib
2 STM32_USB-FS_Device_Lib
22 SSTTMM3322__UUSSBB--FFSS__DDeevviiccee__LLiibb
就是STM提供给我们的TheUSB-FS-Devicelibrary固件库,它由STM32_USBFS_Device_
Driver和ApplicationInterfacelayer两个部分组成。
其中STM32_USB-FS_Device_Driver这层管理USB的硬件设备和USB标准协议的直接交
互,它又由LowLayer 和 Medium Layer两个层组成;ApplicationInterfacelayer-High Layer
这层又叫HighLayer层,它在固件库核和应用提供给用户一个完整的接口。
图2 是我给出的STM32_USB-FS-Device_Lib_V3.1.0 结构图,下面我们将对这个整个结
构的运行机理分析,然后结构逐层给出具体含义。
和其他的接口一样,当受到USB的中断后,进入stm32f10x_it.c中的USB_LP_CAN1_RX0
_IRQHandler()和USB_HP_CAN1_TX_IRQHandler()中断服务子程序。其中优先级高的由
USB_HP_CAN1_TX_IRQHandler处理,优先级低的由USB_LP_CAN1_RX0_IRQHandler处
理。
usb_int(.h,.c)
usb_int(.h,.c)
对于USB_HP_CAN1_TX_IRQHandler函数,它直接调用uussbb__iinntt((..hh,,..cc))中的
CTR_HP(),然后根据发送和接受数据,它调用usb_endp(.c)中的EPX_IN_Callback()或
EPX_OUT_Callback()函数。对于EPX_IN_Callback和EPX_OUT_Callback()这14个函数(X=1,
2...7)它们在usb_conf(.h)中通过
#define EPX_IN_Callback NOP_Process
#define EPX_OUT_Callback NOP_Process
的形式,来由用户决定是否提供具体的实现并调用。而将它们和CTR_HP联系在一起的操作,
在usb_i
文档评论(0)