STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
|
HCD HAL module driver. This file provides firmware functions to manage the following functionalities of the USB Peripheral Controller: More...
#include "stm32f4xx_hal.h"
Go to the source code of this file.
Functions | |
static void | HCD_HC_IN_IRQHandler (HCD_HandleTypeDef *hhcd, uint8_t chnum) |
Handle Host Channel IN interrupt requests. | |
static void | HCD_HC_OUT_IRQHandler (HCD_HandleTypeDef *hhcd, uint8_t chnum) |
Handle Host Channel OUT interrupt requests. | |
static void | HCD_RXQLVL_IRQHandler (HCD_HandleTypeDef *hhcd) |
Handle Rx Queue Level interrupt requests. | |
static void | HCD_Port_IRQHandler (HCD_HandleTypeDef *hhcd) |
Handle Host Port interrupt requests. | |
HAL_StatusTypeDef | HAL_HCD_Init (HCD_HandleTypeDef *hhcd) |
Initialize the host driver. | |
HAL_StatusTypeDef | HAL_HCD_HC_Init (HCD_HandleTypeDef *hhcd, uint8_t ch_num, uint8_t epnum, uint8_t dev_address, uint8_t speed, uint8_t ep_type, uint16_t mps) |
Initialize a host channel. | |
HAL_StatusTypeDef | HAL_HCD_HC_Halt (HCD_HandleTypeDef *hhcd, uint8_t ch_num) |
Halt a host channel. | |
HAL_StatusTypeDef | HAL_HCD_DeInit (HCD_HandleTypeDef *hhcd) |
DeInitialize the host driver. | |
void | HAL_HCD_MspInit (HCD_HandleTypeDef *hhcd) |
Initialize the HCD MSP. | |
void | HAL_HCD_MspDeInit (HCD_HandleTypeDef *hhcd) |
DeInitialize the HCD MSP. | |
HAL_StatusTypeDef | HAL_HCD_HC_SubmitRequest (HCD_HandleTypeDef *hhcd, uint8_t ch_num, uint8_t direction, uint8_t ep_type, uint8_t token, uint8_t *pbuff, uint16_t length, uint8_t do_ping) |
Submit a new URB for processing. | |
void | HAL_HCD_IRQHandler (HCD_HandleTypeDef *hhcd) |
Handle HCD interrupt request. | |
void | HAL_HCD_WKUP_IRQHandler (HCD_HandleTypeDef *hhcd) |
Handles HCD Wakeup interrupt request. | |
void | HAL_HCD_SOF_Callback (HCD_HandleTypeDef *hhcd) |
SOF callback. | |
void | HAL_HCD_Connect_Callback (HCD_HandleTypeDef *hhcd) |
Connection Event callback. | |
void | HAL_HCD_Disconnect_Callback (HCD_HandleTypeDef *hhcd) |
Disconnection Event callback. | |
void | HAL_HCD_PortEnabled_Callback (HCD_HandleTypeDef *hhcd) |
Port Enabled Event callback. | |
void | HAL_HCD_PortDisabled_Callback (HCD_HandleTypeDef *hhcd) |
Port Disabled Event callback. | |
void | HAL_HCD_HC_NotifyURBChange_Callback (HCD_HandleTypeDef *hhcd, uint8_t chnum, HCD_URBStateTypeDef urb_state) |
Notify URB state change callback. | |
HAL_StatusTypeDef | HAL_HCD_Start (HCD_HandleTypeDef *hhcd) |
Start the host driver. | |
HAL_StatusTypeDef | HAL_HCD_Stop (HCD_HandleTypeDef *hhcd) |
Stop the host driver. | |
HAL_StatusTypeDef | HAL_HCD_ResetPort (HCD_HandleTypeDef *hhcd) |
Reset the host port. | |
HCD_StateTypeDef | HAL_HCD_GetState (HCD_HandleTypeDef const *hhcd) |
Return the HCD handle state. | |
HCD_URBStateTypeDef | HAL_HCD_HC_GetURBState (HCD_HandleTypeDef const *hhcd, uint8_t chnum) |
Return URB state for a channel. | |
uint32_t | HAL_HCD_HC_GetXferCount (HCD_HandleTypeDef const *hhcd, uint8_t chnum) |
Return the last host transfer size. | |
HCD_HCStateTypeDef | HAL_HCD_HC_GetState (HCD_HandleTypeDef const *hhcd, uint8_t chnum) |
Return the Host Channel state. | |
uint32_t | HAL_HCD_GetCurrentFrame (HCD_HandleTypeDef *hhcd) |
Return the current Host frame number. | |
uint32_t | HAL_HCD_GetCurrentSpeed (HCD_HandleTypeDef *hhcd) |
Return the Host enumeration speed. | |
HAL_StatusTypeDef | HAL_HCD_HC_SetHubInfo (HCD_HandleTypeDef *hhcd, uint8_t ch_num, uint8_t addr, uint8_t PortNbr) |
Set host channel Hub information. | |
HAL_StatusTypeDef | HAL_HCD_HC_ClearHubInfo (HCD_HandleTypeDef *hhcd, uint8_t ch_num) |
Clear host channel hub information. | |
HCD HAL module driver. This file provides firmware functions to manage the following functionalities of the USB Peripheral Controller:
Copyright (c) 2016 STMicroelectronics. All rights reserved.
This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.
============================================================================== ##### How to use this driver ##### ============================================================================== [..] (#)Declare a HCD_HandleTypeDef handle structure, for example: HCD_HandleTypeDef hhcd; (#)Fill parameters of Init structure in HCD handle (#)Call HAL_HCD_Init() API to initialize the HCD peripheral (Core, Host core, ...) (#)Initialize the HCD low level resources through the HAL_HCD_MspInit() API: (##) Enable the HCD/USB Low Level interface clock using the following macros (+++) __HAL_RCC_USB_OTG_FS_CLK_ENABLE(); (+++) __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); (For High Speed Mode) (+++) __HAL_RCC_USB_OTG_HS_ULPI_CLK_ENABLE(); (For High Speed Mode) (##) Initialize the related GPIO clocks (##) Configure HCD pin-out (##) Configure HCD NVIC interrupt (#)Associate the Upper USB Host stack to the HAL HCD Driver: (##) hhcd.pData = phost; (#)Enable HCD transmission and reception: (##) HAL_HCD_Start();
Definition in file stm32f4xx_hal_hcd.c.