A36 STM32_HAL库函数 之PCD通用驱动 -- B -- 所有函数的介绍及使用

A36 STM32_HAL库函数 之PCD通用驱动 -- B -- 所有函数的介绍及使用

  • 1 该驱动函数预览
      • 1.11 HAL_PCD_SOFCallback
      • 1.12 HAL_PCD_ResetCallback
      • 1.13 HAL_PCD_SuspendCallback
      • 1.14 HAL_PCD_ResumeCallback
      • 1.15 HAL_PCD_ISOOUTIncompleteCallback
      • 1.16 HAL_PCD_ISOINIncompleteCallback
      • 1.17 HAL_PCD_ConnectCallback
      • 1.18 HAL_PCD_DisconnectCallback
      • 1.19 HAL_PCD_DevConnect
      • 1.20 HAL_PCD_DevDisconnect
      • 1.21 HAL_PCD_SetAddress
      • 1.22 HAL_PCD_EP_Open
  • 该文档修改记录:
  • 总结

1 该驱动函数预览

序号函数名描述
1HAL_PCD_Init()初始化PCD(USB Peripheral Controller Device)接口。
2HAL_PCD_DeInit()反初始化PCD接口。
3HAL_PCD_MspInit()初始化MCU外设相关的PCD引脚或资源。
4HAL_PCD_MspDeInit()反初始化MCU外设相关的PCD引脚或资源。
5HAL_PCD_Start()启动PCD接口。
6HAL_PCD_Stop()停止PCD接口。
7HAL_PCD_IRQHandler()PCD中断处理程序。
8HAL_PCD_DataOutStageCallback()数据输出阶段回调函数。
9HAL_PCD_DataInStageCallback()数据输入阶段回调函数。
10HAL_PCD_SetupStageCallback()设置阶段回调函数。
11HAL_PCD_SOFCallback()SOF(Start Of Frame)回调函数。
12HAL_PCD_ResetCallback()复位回调函数。
13HAL_PCD_SuspendCallback()挂起回调函数。
14HAL_PCD_ResumeCallback()恢复回调函数。
15HAL_PCD_ISOOUTIncompleteCallback()ISO OUT(异步传输输出)不完整回调函数。
16HAL_PCD_ISOINIncompleteCallback()ISO IN(异步传输输入)不完整回调函数。
17HAL_PCD_ConnectCallback()连接回调函数。
18HAL_PCD_DisconnectCallback()断开连接回调函数。
19HAL_PCD_DevConnect()连接设备。
20HAL_PCD_DevDisconnect()断开设备连接。
21HAL_PCD_SetAddress()设置USB设备地址。
22HAL_PCD_EP_Open()开启USB设备的端点。
23HAL_PCD_EP_Close()关闭USB设备的端点。
24HAL_PCD_EP_Receive()接收数据到USB设备的端点。
25HAL_PCD_EP_GetRxCount()获取USB设备端点接收的数据数量。
26HAL_PCD_EP_Transmit()从USB设备的端点发送数据。
27HAL_PCD_EP_SetStall()设置USB设备端点STALL状态。
28HAL_PCD_EP_ClrStall()清除USB设备端点的STALL状态。
29HAL_PCD_EP_Flush()清空USB设备端点的缓冲区。
30HAL_PCD_ActivateRemoteWakeup()激活远程唤醒功能。
31HAL_PCD_DeActivateRemoteWakeup()停用远程唤醒功能。
32HAL_PCD_GetState()获取PCD接口的状态。

以下是使用模板:

#include "stm32f4xx_hal.h"int main(void) {// HAL初始化HAL_Init();// 初始化MCU外设相关的PCD引脚或资源HAL_PCD_MspInit();// 初始化PCD接口HAL_PCD_Init();// 进行其他操作...// 启动PCD接口HAL_PCD_Start();// 获取PCD接口的状态HAL_PCD_GetState();// 反初始化PCD接口HAL_PCD_DeInit();// 反初始化MCU外设相关的PCD引脚或资源HAL_PCD_MspDeInit();return 0;
}

1.11 HAL_PCD_SOFCallback

函数名HAL_PCD_SOFCallback
函数原形void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
功能描述USB PCD SOF(帧)回调函数
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.12 HAL_PCD_ResetCallback

函数名HAL_PCD_ResetCallback
函数原形void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
功能描述USB PCD 复位回调函数
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.13 HAL_PCD_SuspendCallback

函数名HAL_PCD_SuspendCallback
函数原形void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
功能描述USB PCD 挂起回调函数
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.14 HAL_PCD_ResumeCallback

函数名HAL_PCD_ResumeCallback
函数原形void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
功能描述USB PCD 恢复回调函数
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.15 HAL_PCD_ISOOUTIncompleteCallback

函数名HAL_PCD_ISOOUTIncompleteCallback
函数原形void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd)
功能描述USB PCD ISO OUT 传输不完整回调函数
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.16 HAL_PCD_ISOINIncompleteCallback

函数名HAL_PCD_ISOINIncompleteCallback
函数原形void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd)
功能描述USB PCD ISO IN 传输不完整回调函数
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.17 HAL_PCD_ConnectCallback

函数名HAL_PCD_ConnectCallback
函数原形void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
功能描述USB PCD 连接回调函数
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.18 HAL_PCD_DisconnectCallback

函数名HAL_PCD_DisconnectCallback
函数原形void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
功能描述USB PCD 断开连接回调函数
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.19 HAL_PCD_DevConnect

函数名HAL_PCD_DevConnect
函数原形void HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd)
功能描述通知 USB PCD 设备已连接
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.20 HAL_PCD_DevDisconnect

函数名HAL_PCD_DevDisconnect
函数原形void HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd)
功能描述通知 USB PCD 设备已断开连接
输入参数hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输出参数
返回值
先决条件
被调用函数

1.21 HAL_PCD_SetAddress

函数名HAL_PCD_SetAddress
函数原形void HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd,

uint8_t address) |
| 功能描述 | 设置 USB PCD 设备地址 |
| 输入参数 1 | hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体 |
| 输入参数 2 | address:设备地址 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |


1.22 HAL_PCD_EP_Open

函数名HAL_PCD_EP_Open
函数原形HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps)
功能描述打开 USB PCD 端点
输入参数 1hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输入参数 2ep_addr:端点地址
输入参数 3ep_type:端点类型
输入参数 4ep_mps:最大包大小
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

该文档修改记录:

修改时间修改说明
2024年4月30日第一次发布,介绍了该博客驱动所有函数的介绍及使用

总结

以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/862059.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【财务数字化转型之底座】集团企业财务数据中台系统建设方案

引言:随着企业规模的不断扩大和业务的复杂化,传统的财务管理模式已难以满足集团企业的数据整合、分析和决策需求。因此,建设一个高效、稳定、安全的财务数据中台系统,成为集团企业数字化转型的重要一环。本方案旨在构建一个集数据…

Android SurfaceFlinger——无效化和同步信号回调(十)

上一篇文章分析了屏幕热插拔回调回调,同时通过前面文章的介绍,我们知道一共有三个比较重要的回调,这里我们看一看另外两个回调函数无效化和垂直同步的相关调用。 一、回调介绍 这两个回调从表面看都是通知屏幕刷新的,但本质上还是有区别的。 无效化回调(Invalidate Hook…

算力服务先锋!和鲸科技入选《2024中国智算产业生态图谱》

2024 年 6 月 18 日,由科智咨询发起的《2024中国智算产业生态图谱》正式发布,依托 ModelWhale 构建的智算算力资源服务,以及深耕多年的 ModelWhale 数据科学协同平台优势,和鲸科技成功入选。 “智算时代”技术不断进步&#xff0c…

Open vSwitch 内核空间的流表同步

一、内核空间的流表同步 在 Open vSwitch 的数据包转发过程中,当数据包在 Datapath 模块无法完全处理时,会通过 upcall 调用将数据包交给用户空间的 vswitchd 守护进程,由 vswitchd 守护进程生成相应的流表和行为,并发送回内核空间…

什么是空间复杂度?

空间复杂度 是指算法在计算机中执行时所需额外空间的度量,记作S(n)。这个空间包括算法在执行时所使用的所有额外存储空间,包括变量(包括静态变量和动态变量)、递归调用栈、以及输入输出数据所占据的存储空间等。其中,n…

指针并不是用来存储数据的,而是用来存储数据在内存中地址(内存操作/函数指针/指针函数)

推荐:1、4、5号书籍 1. 基本概念 首先,让小明了解指针的基本概念: 指针的定义:指针是一个变量,它存储的是另一个变量的地址。指针的声明:例如,int *p表示一个指向整数的指针变量p。 2. 形象…

生命在于学习——Python人工智能原理(2.6.1)

六 Python的文件系统 6.1 打开文件 在Python中,可以使用内置的open函数来打开文件,open函数的基本语法如下: file open(file_name, moder, buffering-1, encodingNone, errorsNone, newlineNone, closefdTrue, openerNone)参数说明&#…

【Web3】Web3.js 启动!并解决Web3 is not a constructor报错

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 本节教大家如何启动Web3.js 目录 Web3 启动! 于是很愉快的报错 创建实例! 出来了 Web3:模块…

【Android】设置光标颜色和图标

创建主题 该主题可以更改文字下方拖拽手柄的颜色 <?xml version"1.0" encoding"utf-8"?> <resources><style name"RedTextCursor"><item name"android:colorControlActivated">#FF0000</item></…

《PIDNet: A Real-time Semantic Segmentation Network Inspired by PID Controllers》

期刊&#xff1a;CVPR 年份&#xff1a;2023 代码&#xff1a;https://github.com/XuJiacong/PIDNet 摘要 双分支网络架构已经证明了它在实时语义分割任务中的有效性和有效性。然而&#xff0c;高分辨率细节和低频上下文的直接融合的缺点是细节特征很容易被周围的上下文信息…

快储存,分布式文件系统,对象储存

Ceph块存储 镜像快照 快照可以保存某一时间点时的状态数据快照是映像在特定时间点的只读逻辑副本希望回到以前的一个状态&#xff0c;可以恢复快照使用镜像、快照综合示例 rbd create img1 --size 10G 创建镜像rbd ls 查看镜像 rbd info img1 #查看…

Win32消息机制原理及消息运转

一.消息机制原理 1.消息类型&#xff1a; WIndows定义的一系列WM_XXX开头的&#xff0c;用来表示键盘按键&#xff0c;鼠标点击&#xff0c;窗口变化&#xff0c;用户自定义等各种消息; 2.消息队列&#xff1a; Windows为每一个正在运行的程序维护一个消息队列应用程序的消…

让DroidVNC-NG支持中文输入

DroidVNC-NG支持控制端输入内容&#xff0c;但是仅支持英文字符&#xff0c;如果需要控制输入法软键盘输入中文的话就没办法了&#xff0c;经过摸索找到了解决办法。 这个解决办法有个条件就是让DroidVNC-NG成为系统级应用&#xff08;这个条件比较苛刻&#xff09;&#xff…

【Linux】性能分析器 perf 详解(三)

上一篇:【Linux】性能分析器 perf 详解(二) 1、perf kmem 1.1 简介 kmem 用于跟踪/测量内核内存属性的工具,如分配、释放、碎片率等。可以帮助开发者和系统管理员理解内核内存的分配和释放模式,从而诊断内存泄漏、过度分配等问题。 功能: 跟踪内存分配和释放:监控内…

AI的赚钱风向,彻底变了!

从2023年3月起&#xff0c;生成式AI技术的浪潮席卷全球&#xff0c;让不少人开始焦虑中国AI技术与美国的差距。然而&#xff0c;最近的趋势显示&#xff0c;AI创业的盈利模式已经发生了根本性的变化。今年&#xff0c;我们见证了AIGC&#xff08;人工智能生成内容&#xff09;企…

ExtractAItoTEXT 提取Adobe illustrator AI文件中的文字到文本文件翻译并写回到Adobe illustrator AI文件

Extract Text from Adobe illustrator to text for translate and write back to Adobe illustrator after translate in text file. Originally script from marceloliaohotmail.com during his work in SDL. Updated by me. 从Adobe illustrator中提取文本以进行翻译&#x…

【JavaScript】一键入门

目录 一、JS起源 二、JS特点 三、JS组成部分 四、JS引入方式 一、JS起源 Java Script是由网景公司的Live Script发展而来的一种运行在客户端浏览器上的脚本语言&#xff0c;可以实现网页如文本内容、数据动态变化和动画特效等即浏览器与用户交互的这种体验。 二、JS特点 …

当了面试官才知道:做好这3点,面试成功率至少提高50%

关于辉哥&#xff1a; 资深IT从业者&#xff0c; 曾就职于阿里、腾讯、美团、中信科等互联网公司和央企&#xff1b; 两岁小男孩的父亲。 不定期分享职场 | 婚姻 | 育儿 | 个人成长心得体会 关注我&#xff0c;一起学习和成长。 最近作为公司社招面…

【chatgpt】遗传编程(Genetic Programming, GP)和编译原理的相似之处

遗传编程&#xff08;Genetic Programming, GP&#xff09;和编译原理之间有一些相似之处&#xff0c;主要体现在以下几个方面&#xff1a; 语法树结构&#xff1a; GP&#xff1a;使用语法树&#xff08;Parse Trees&#xff09;来表示程序&#xff0c;其中节点代表操作符或函…

昇思25天学习打卡营第9天|使用静态图加速

一、简介&#xff1a; AI编译框架分为两种运行模式&#xff0c;分别是动态图模式以及静态图模式。MindSpore默认情况下是以动态图模式运行&#xff0c;但也支持手工切换为静态图模式。两种运行模式的详细介绍如下&#xff1a; &#xff08;1&#xff09;动态图&#xff1a; …