STM32学习笔记之USB库文件分析
来源:互联网 发布:好吃的零食 知乎 编辑:程序博客网 时间:2024/06/03 17:51
主要分析下其他一些文件:
usb_core.c、
usb_init.c、
usb_int.c、
usb_mem.c、
usb_reg.c
usb_sil.c
1、
usb_core.c -- 这个文件从名字上就可知,这是usb的核心文件。这个文件主要是USB在枚举过程中的一些功能函数。比如控制传输的建立阶段、数据阶段、状态阶段的各种标准请求函数,各个阶段的处理函数等。
2、
usb_init.c - 文件。这个文件很简单,只有一个函数:void USB_Init(void),这个函数也很简单,就是注册usb设备的基本信息:至于pProperty->Init()这样的写法,就是执行pProperty这个结构体的Init函数指针指向的函数,我们在usb_prop.c的DEVICE_PROP Device_Property中曾注册过初始化函数CustomHID_init()。
3、
usb_int.c - 文件,这个文件定义了两个中断中断服务程序:低优先级的端点正确传输中断服务程序void CTR_LP(void)和高优先级端点正确传输的中断服务程序void CTR_HP(void)。我们这个工程只使用了void CTR_LP(void)这个函数,CTR_LP在usb.istr.c文件的ISTR中断事件的中断服务程序USB_Istr中如果数据或请求正确传输正确就会被调用。
4、
usb_mem.c - 主要有两个内存中的数据搬移函数:一个是从PMA缓冲区中拷贝数据到用户指定的内存空间PMAToUserBufferCopy(),很明显这个函数是在端点接收到数据后才会使用到的;另一个是从用户空间拷贝数据到PMA缓冲区中,在端点要发送数据数才会被调用。
5、
usb_reg.c - 文件,是跟stm32的USB相关寄存器相关的代码。看这段代码就要阅读stm32寄存器了。这个函数定义了设置和读取各个寄存器的值或某位的值,具体的看代码。
6、
usb_sil.c - 文件。端点具体的接发数据函数就在这里定义。这个文件也很简单,只有三个函数:USB_SIL_Init()初始化USB设备IP和端点;USB_SIL_Write()往选中的端点中写入数据;USB_SIL_Read()从选中的端点中读出数据
阅读全文
0 0
- STM32学习笔记之USB库文件分析
- STM32学习笔记之USB工程目录文件分析
- STM32学习笔记之 USB驱动usb_endp.c文件和usb_istr.c文件分析
- STM32 USB学习笔记
- STM32 USB学习笔记
- STM32学习笔记之USB数据接收和发送流程分析
- STM32 USB学习笔记1
- STM32 USB学习笔记2
- STM32 USB学习笔记3
- STM32 USB学习笔记4
- STM32 USB学习笔记5
- STM32 USB学习笔记6
- STM32 USB学习笔记7
- STM32 USB学习笔记8
- STM32 USB学习笔记9
- 关于stm32的USB学习笔记之USB_HW.c
- 关于stm32的USB学习笔记之usbcore.c
- 关于stm32的USB学习笔记之USB_HW.c
- javaWeb中使用URL的情况总结(相对路径)
- 快速认识和使用浏览器跟踪Http服务及Http服务调试工具
- C++中的命名空间(using name std)
- NIO系列(六)——线程通信(pipe)
- TI的CC2530单片机检测不同类型的方波
- STM32学习笔记之USB库文件分析
- 219. Contains Duplicate II
- HttpClient4.5.2模拟表单post提交上传文件
- 遗传算法的matlab实现
- dispatch_time_t
- 文件I/O指针
- ROS机器人操作系统在线练习
- 阅读QtCreator--常见文件操作的实现
- jvm分析步骤