STM32 之三 标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例程序)

本文介绍了STM32的USB驱动库,包括Legacy库(如STSW-STM32046)和Cube库的区别,并详细阐述了Legacy库的结构和使用,涵盖USB OTG core的全速和高速核心,以及低层驱动的配置和使用。文中还提及了Host和Device库的源文件结构、函数调用关系、配置方法和使用步骤,适合STM32开发者了解和移植USB驱动。
摘要由CSDN通过智能技术生成

写在前面

  • 目前,ST的USB驱动有两套,一套是早期的独立版USB驱动,官方培训文档中称为Legacy library;一套为针对其Cube 系列的驱动,根据芯片不同可能有区别,具体见对应芯片的Cube驱动包,官方培训文档中称为Cube library。 本文使用的为Legacy library USB 驱动。更详细的各驱动库版本,请参考博文STM32 之 USB IP(USB模块) 详解
  • 本文多出自于ST的官方文档 及 2016~2017的培训文档,读者也可以直接去ST官网查阅相关文档。
  • 稍有涉及USB 2.0 规范的内容,关于USB规范去官网或自行Google。也可以参考:
  • USB之USB2.0 规范详解 第一部分
  • 99
    点赞
  • 530
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
回调函数是一种常用的函数编程技术,它允许我们在程序中注册一个函数,当某个事件发生时,系统会自动调用这个函数。在 STM32 的开发中,回调函数经常被用来处理各种外设中断事件。 在 STM32 中,回调函数通常被定义为一个函数指针,当外设中断发生时,系统会将这个指针指向的函数作为中断处理函数来执行。以下是一个简单的回调函数示例: ``` void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { // 处理中断事件 } ``` 在上面的示例中,`HAL_GPIO_EXTI_Callback` 是一个回调函数,它被用于处理 GPIO 外设的中断事件。当中断事件发生时,系统会自动调用这个函数,并传入触发中断的 GPIO 引脚号作为参数。 需要注意的是,在使用回调函数时,我们需要先将回调函数注册到相应的外设中断处理函数中,例如: ``` HAL_GPIO_RegisterCallback(&hgpio, HAL_GPIO_EXTI_Callback); ``` 在上面的示例中,`HAL_GPIO_RegisterCallback` 函数用于将 `HAL_GPIO_EXTI_Callback` 函数注册到 `hgpio` 对应的 GPIO 外设中断处理函数中。这样,当 GPIO 外设的中断发生时,系统就会调用 `HAL_GPIO_EXTI_Callback` 函数来处理中断事件。 总之,回调函数是一种非常常用的函数编程技术,在 STM32 的开发中也经常被用于处理各种外设中断事件。在使用时,我们需要先将回调函数注册到相应的外设中断处理函数中,然后在回调函数中处理中断事件。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZC·Shou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值