A36 STM32_HAL库函数 之PCD通用驱动 -- B -- 所有函数的介绍及使用
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_Init();
HAL_PCD_MspInit();
HAL_PCD_Init();
HAL_PCD_Start();
HAL_PCD_GetState();
HAL_PCD_DeInit();
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日 |
第一次发布,介绍了该博客驱动所有函数的介绍及使用 |
总结
以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。