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

发布于:2024-07-04 ⋅ 阅读:(66) ⋅ 点赞:(0)

1 该驱动函数预览

序号 函数名 描述
1 HAL_PCD_Init() 初始化PCD(USB Peripheral Controller Device)接口。
2 HAL_PCD_DeInit() 反初始化PCD接口。
3 HAL_PCD_MspInit() 初始化MCU外设相关的PCD引脚或资源。
4 HAL_PCD_MspDeInit() 反初始化MCU外设相关的PCD引脚或资源。
5 HAL_PCD_Start() 启动PCD接口。
6 HAL_PCD_Stop() 停止PCD接口。
7 HAL_PCD_IRQHandler() PCD中断处理程序。
8 HAL_PCD_DataOutStageCallback() 数据输出阶段回调函数。
9 HAL_PCD_DataInStageCallback() 数据输入阶段回调函数。
10 HAL_PCD_SetupStageCallback() 设置阶段回调函数。
11 HAL_PCD_SOFCallback() SOF(Start Of Frame)回调函数。
12 HAL_PCD_ResetCallback() 复位回调函数。
13 HAL_PCD_SuspendCallback() 挂起回调函数。
14 HAL_PCD_ResumeCallback() 恢复回调函数。
15 HAL_PCD_ISOOUTIncompleteCallback() ISO OUT(异步传输输出)不完整回调函数。
16 HAL_PCD_ISOINIncompleteCallback() ISO IN(异步传输输入)不完整回调函数。
17 HAL_PCD_ConnectCallback() 连接回调函数。
18 HAL_PCD_DisconnectCallback() 断开连接回调函数。
19 HAL_PCD_DevConnect() 连接设备。
20 HAL_PCD_DevDisconnect() 断开设备连接。
21 HAL_PCD_SetAddress() 设置USB设备地址。
22 HAL_PCD_EP_Open() 开启USB设备的端点。
23 HAL_PCD_EP_Close() 关闭USB设备的端点。
24 HAL_PCD_EP_Receive() 接收数据到USB设备的端点。
25 HAL_PCD_EP_GetRxCount() 获取USB设备端点接收的数据数量。
26 HAL_PCD_EP_Transmit() 从USB设备的端点发送数据。
27 HAL_PCD_EP_SetStall() 设置USB设备端点STALL状态。
28 HAL_PCD_EP_ClrStall() 清除USB设备端点的STALL状态。
29 HAL_PCD_EP_Flush() 清空USB设备端点的缓冲区。
30 HAL_PCD_ActivateRemoteWakeup() 激活远程唤醒功能。
31 HAL_PCD_DeActivateRemoteWakeup() 停用远程唤醒功能。
32 HAL_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 端点
输入参数 1 hpcd:PCD 句柄,指向一个 PCD_HandleTypeDef 结构体
输入参数 2 ep_addr:端点地址
输入参数 3 ep_type:端点类型
输入参数 4 ep_mps:最大包大小
输出参数
返回值 HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

该文档修改记录:

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

总结

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


网站公告

今日签到

点亮在社区的每一天
去签到