A18 STM32_HAL库函数 之 HCD通用驱动程序 -- A-- 所有函数的介绍及使用
1 该驱动函数预览
序号 | 函数名 | 描述 |
---|
1 | HAL_HCD_Init() | 初始化USB主机控制器设备。 |
2 | HAL_HCD_HC_Init() | 初始化USB主机控制器的通道。 |
3 | HAL_HCD_HC_Halt() | 停止USB主机控制器的通道。 |
4 | HAL_HCD_DeInit() | 反初始化USB主机控制器设备。 |
5 | HAL_HCD_MspInit() | 初始化MCU外设相关的USB主机控制器引脚或资源。 |
6 | HAL_HCD_MspDeInit() | 反初始化MCU外设相关的USB主机控制器引脚或资源。 |
7 | HAL_HCD_HC_SubmitRequest() | 提交USB主机控制器的通道请求。 |
8 | HAL_HCD_IRQHandler() | USB主机控制器中断处理程序。 |
9 | HAL_HCD_SOF_Callback() | USB主机控制器帧同步回调函数。 |
10 | HAL_HCD_Connect_Callback() | USB主机控制器连接回调函数。 |
11 | HAL_HCD_Disconnect_Callback() | USB主机控制器断开连接回调函数。 |
12 | HAL_HCD_HC_NotifyURBChange_Callback() | USB主机控制器通道URB状态改变回调函数。 |
13 | HAL_HCD_Start() | 启动USB主机控制器设备。 |
14 | HAL_HCD_Stop() | 停止USB主机控制器设备。 |
15 | HAL_HCD_ResetPort() | 重置USB主机控制器端口。 |
16 | HAL_HCD_GetState() | 获取USB主机控制器设备状态。 |
17 | HAL_HCD_HC_GetURBState() | 获取USB主机控制器通道URB状态。 |
18 | HAL_HCD_HC_GetXferCount() | 获取USB主机控制器通道传输计数。 |
19 | HAL_HCD_HC_GetState() | 获取USB主机控制器通道状态。 |
20 | HAL_HCD_GetCurrentFrame() | 获取USB主机控制器当前帧数。 |
21 | HAL_HCD_GetCurrentSpeed() | 获取USB主机控制器当前速度。 |
使用模板:
#include "stm32f4xx_hal.h"
int main(void) {
HAL_Init();
HAL_HCD_MspInit();
HAL_HCD_Init();
HAL_HCD_Start();
HAL_HCD_HC_SubmitRequest();
HAL_HCD_IRQHandler();
uint32_t hcdState = HAL_HCD_GetState();
HAL_HCD_Stop();
HAL_HCD_DeInit();
HAL_HCD_MspDeInit();
return 0;
}
1.1 HAL_HCD_Init
函数名 | HAL_HCD_Init |
---|
函数原形 | HAL_StatusTypeDef HAL_HCD_Init(HCD_HandleTypeDef *hhcd) |
功能描述 | 初始化 USB 主机控制器(HCD) |
输入参数 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:初始化结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.2 HAL_HCD_HC_Init
函数名 | HAL_HCD_HC_Init |
---|
函数原形 | HAL_StatusTypeDef HAL_HCD_HC_Init(HCD_HandleTypeDef *hhcd, uint8_t hc_num, uint8_t epnum, uint8_t direction, uint8_t ep_type, uint8_t token, uint8_t ep_kind, uint8_t speed) |
功能描述 | 初始化 USB 主机控制器(HCD)的端点 |
输入参数 1 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输入参数 2 | hc_num:端点编号 |
输入参数 3 | epnum:端点地址 |
输入参数 4 | direction:数据传输方向(IN 或 OUT) |
输入参数 5 | ep_type:端点类型(控制、等等) |
输入参数 6 | token:端点传输类型(SETUP、IN、OUT) |
输入参数 7 | ep_kind:端点类型(CONTROL、BULK、等等) |
输入参数 8 | speed:端点的速度(HS、FS、等等) |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:初始化结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.3 HAL_HCD_HC_Halt
函数名 | HAL_HCD_HC_Halt |
---|
函数原形 | HAL_StatusTypeDef HAL_HCD_HC_Halt(HCD_HandleTypeDef *hhcd, uint8_t hc_num) |
功能描述 | 停止 USB 主机控制器(HCD)的端点传输 |
输入参数 1 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输入参数 2 | hc_num:端点编号 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:停止结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.4 HAL_HCD_DeInit
函数名 | HAL_HCD_DeInit |
---|
函数原形 | HAL_StatusTypeDef HAL_HCD_DeInit(HCD_HandleTypeDef *hhcd) |
功能描述 | 反初始化 USB 主机控制器(HCD) |
输入参数 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:反初始化结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.5 HAL_HCD_MspInit
函数名 | HAL_HCD_MspInit |
---|
函数原形 | void HAL_HCD_MspInit(HCD_HandleTypeDef *hhcd) |
功能描述 | 初始化 USB 主机控制器(HCD)的外设 |
输入参数 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.6 HAL_HCD_MspDeInit
函数名 | HAL_HCD_MspDeInit |
---|
函数原形 | void HAL_HCD_MspDeInit(HCD_HandleTypeDef *hhcd) |
功能描述 | 反初始化 USB 主机控制器(HCD)的外设 |
输入参数 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.7 HAL_HCD_HC_SubmitRequest
函数名 | HAL_HCD_HC_SubmitRequest |
---|
函数原形 | HAL_StatusTypeDef HAL_HCD_HC_SubmitRequest(HCD_HandleTypeDef *hhcd, uint8_t hc_num, uint8_t direction, uint8_t ep_type, uint8_t token, uint8_t *pbuff, uint16_t length, uint8_t do_ping) |
功能描述 | 提交一个新的 USB 主机控制器(HCD)端点请求 |
输入参数 1 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输入参数 2 | hc_num:端点编号 |
输入参数 3 | direction:数据传输方向(IN 或 OUT) |
输入参数 4 | ep_type:端点类型(控制、等等) |
输入参数 5 | token:端点传输类型(SETUP、IN、OUT) |
输入参数 6 | pbuff:数据缓冲区 |
输入参数 7 | length:数据长度 |
输入参数 8 | do_ping:是否执行 ping 操作 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:提交结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.8 HAL_HCD_IRQHandler
函数名 | HAL_HCD_IRQHandler |
---|
函数原形 | void HAL_HCD_IRQHandler(HCD_HandleTypeDef *hhcd) |
功能描述 | USB 主机控制器(HCD)中断处理函数 |
输入参数 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.9 HAL_HCD_SOF_Callback
函数名 | HAL_HCD_SOF_Callback |
---|
函数原形 | void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd) |
功能描述 | USB 主机控制器(HCD)SOF(起始帧)中断回调函数 |
输入参数 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.10 HAL_HCD_Connect_Callback
函数名 | HAL_HCD_Connect_Callback |
---|
函数原形 | void HAL_HCD_Connect_Callback(HCD_HandleTypeDef *hhcd) |
功能描述 | USB 主机控制器(HCD)连接中断回调函数 |
输入参数 | hhcd:HCD 句柄,指向一个 HCD_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
该文档修改记录:
修改时间 | 修改说明 |
---|
2024年4月30日 | 第一次发布,介绍了该博客驱动所有函数的介绍及使用 |
总结
以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。