STM32 USB 库介绍

1 STM32 USB 库

在这里插入图片描述

2 STM32_USB-FS_Device_Driver-Low Layer

2.1 usb_regs

实现了硬件抽象层,提供了 usb 寄存器操作函数集合。


函数有两种调用的方式:

  1. 作为宏:_ 调用方式是:函数名(参数1,2…)
  2. 作为子程序:调用方式:函数名(参数1,2…)

2.2 usb_int

处理正确传输的中断服务程序。

  • 低优先级中断,由 CTR_LP() 处理,用于控制模式、中断模式、批量模式(单缓冲区)
  • 高优先级中断,CTR_HP() 处理,用于快速传输模式,比如同步模式、批量模式(双缓冲区)

2.3 usb_mem

用户内存区(user memory area) 和 USB 模块内存区 PMA(packet memory area)直接拷贝数据。

void UserToPMABufferCopy(uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)void PMAToUserBufferCopy(uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)

3 STM32_USB-FS_Device_Driver-medium Layer

3.1 usb_init

设备 usb 初始化函数和全局变量

3.2 usb_core

实现 USB2.0 规范

4 应用程序接口层

4.1 usb_bot.c

  • BOT (Bulk Only Transport) 协议
  • usb_bot.c是新出现的文件,这个文件只要是BOT的状态机,所谓的BOT其实就是仅限批量传输的意思,我们这里用到的是端点的仅批量传输的。这个文件对不同USB状态的做不同的操作。
  • 参考

https://blog.csdn.net/codectq/article/details/17543657
https://www.cnblogs.com/shangdawei/archive/2013/06/13/3133526.HTML

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值