STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_hcd.c File Reference

HCD HAL module driver. This file provides firmware functions to manage the following functionalities of the USB Peripheral Controller: More...

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. More...
 
static void HCD_HC_OUT_IRQHandler (HCD_HandleTypeDef *hhcd, uint8_t chnum)
 Handle Host Channel OUT interrupt requests. More...
 
static void HCD_RXQLVL_IRQHandler (HCD_HandleTypeDef *hhcd)
 Handle Rx Queue Level interrupt requests. More...
 
static void HCD_Port_IRQHandler (HCD_HandleTypeDef *hhcd)
 Handle Host Port interrupt requests. More...
 
HAL_StatusTypeDef HAL_HCD_Init (HCD_HandleTypeDef *hhcd)
 Initialize the host driver. More...
 
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. More...
 
HAL_StatusTypeDef HAL_HCD_HC_Halt (HCD_HandleTypeDef *hhcd, uint8_t ch_num)
 Halt a host channel. More...
 
HAL_StatusTypeDef HAL_HCD_DeInit (HCD_HandleTypeDef *hhcd)
 DeInitialize the host driver. More...
 
void HAL_HCD_MspInit (HCD_HandleTypeDef *hhcd)
 Initialize the HCD MSP. More...
 
void HAL_HCD_MspDeInit (HCD_HandleTypeDef *hhcd)
 DeInitialize the HCD MSP. More...
 
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. More...
 
void HAL_HCD_IRQHandler (HCD_HandleTypeDef *hhcd)
 Handle HCD interrupt request. More...
 
void HAL_HCD_SOF_Callback (HCD_HandleTypeDef *hhcd)
 SOF callback. More...
 
void HAL_HCD_Connect_Callback (HCD_HandleTypeDef *hhcd)
 Connection Event callback. More...
 
void HAL_HCD_Disconnect_Callback (HCD_HandleTypeDef *hhcd)
 Disconnection Event callback. More...
 
void HAL_HCD_PortEnabled_Callback (HCD_HandleTypeDef *hhcd)
 Port Enabled Event callback. More...
 
void HAL_HCD_PortDisabled_Callback (HCD_HandleTypeDef *hhcd)
 Port Disabled Event callback. More...
 
void HAL_HCD_HC_NotifyURBChange_Callback (HCD_HandleTypeDef *hhcd, uint8_t chnum, HCD_URBStateTypeDef urb_state)
 Notify URB state change callback. More...
 
HAL_StatusTypeDef HAL_HCD_RegisterCallback (HCD_HandleTypeDef *hhcd, HAL_HCD_CallbackIDTypeDef CallbackID, pHCD_CallbackTypeDef pCallback)
 Register a User USB HCD Callback To be used instead of the weak predefined callback. More...
 
HAL_StatusTypeDef HAL_HCD_UnRegisterCallback (HCD_HandleTypeDef *hhcd, HAL_HCD_CallbackIDTypeDef CallbackID)
 Unregister an USB HCD Callback USB HCD callabck is redirected to the weak predefined callback. More...
 
HAL_StatusTypeDef HAL_HCD_RegisterHC_NotifyURBChangeCallback (HCD_HandleTypeDef *hhcd, pHCD_HC_NotifyURBChangeCallbackTypeDef pCallback)
 Register USB HCD Host Channel Notify URB Change Callback To be used instead of the weak HAL_HCD_HC_NotifyURBChange_Callback() predefined callback. More...
 
HAL_StatusTypeDef HAL_HCD_UnRegisterHC_NotifyURBChangeCallback (HCD_HandleTypeDef *hhcd)
 UnRegister the USB HCD Host Channel Notify URB Change Callback USB HCD Host Channel Notify URB Change Callback is redirected to the weak HAL_HCD_HC_NotifyURBChange_Callback() predefined callback. More...
 
HAL_StatusTypeDef HAL_HCD_Start (HCD_HandleTypeDef *hhcd)
 Start the host driver. More...
 
HAL_StatusTypeDef HAL_HCD_Stop (HCD_HandleTypeDef *hhcd)
 Stop the host driver. More...
 
HAL_StatusTypeDef HAL_HCD_ResetPort (HCD_HandleTypeDef *hhcd)
 Reset the host port. More...
 
HCD_StateTypeDef HAL_HCD_GetState (HCD_HandleTypeDef *hhcd)
 Return the HCD handle state. More...
 
HCD_URBStateTypeDef HAL_HCD_HC_GetURBState (HCD_HandleTypeDef *hhcd, uint8_t chnum)
 Return URB state for a channel. More...
 
uint32_t HAL_HCD_HC_GetXferCount (HCD_HandleTypeDef *hhcd, uint8_t chnum)
 Return the last host transfer size. More...
 
HCD_HCStateTypeDef HAL_HCD_HC_GetState (HCD_HandleTypeDef *hhcd, uint8_t chnum)
 Return the Host Channel state. More...
 
uint32_t HAL_HCD_GetCurrentFrame (HCD_HandleTypeDef *hhcd)
 Return the current Host frame number. More...
 
uint32_t HAL_HCD_GetCurrentSpeed (HCD_HandleTypeDef *hhcd)
 Return the Host enumeration speed. More...
 

Detailed Description

HCD HAL module driver. This file provides firmware functions to manage the following functionalities of the USB Peripheral Controller:

Author
MCD Application Team
  • Initialization and de-initialization functions
  • IO operation functions
  • Peripheral Control functions
  • Peripheral State functions
==============================================================================
                  ##### 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();
      (##) 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();
Attention

© Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32l4xx_hal_hcd.c.