STM32F4xx_HAL_Driver  1.8.3
+ Collaboration diagram for Device Speed:

Modules

 PCD Exported Constants
 
 USB Low Layer Exported Macros
 
 USB Low Layer Exported Functions
 

Data Structures

struct  USB_CfgTypeDef
 USB Instance Initialization Structure definition. More...
 
struct  USB_EPTypeDef
 
struct  USB_HCTypeDef
 

Typedefs

typedef USB_ModeTypeDef USB_OTG_ModeTypeDef
 
typedef USB_CfgTypeDef USB_OTG_CfgTypeDef
 
typedef USB_EPTypeDef USB_OTG_EPTypeDef
 
typedef USB_URBStateTypeDef USB_OTG_URBStateTypeDef
 
typedef USB_HCStateTypeDef USB_OTG_HCStateTypeDef
 
typedef USB_HCTypeDef USB_OTG_HCTypeDef
 

Enumerations

enum  USB_ModeTypeDef { USB_DEVICE_MODE = 0 , USB_HOST_MODE = 1 , USB_DRD_MODE = 2 }
 USB Mode definition.
 
enum  USB_URBStateTypeDef {
  URB_IDLE = 0 , URB_DONE , URB_NOTREADY , URB_NYET ,
  URB_ERROR , URB_STALL
}
 URB States definition.
 
enum  USB_HCStateTypeDef {
  HC_IDLE = 0 , HC_XFRC , HC_HALTED , HC_ACK ,
  HC_NAK , HC_NYET , HC_STALL , HC_XACTERR ,
  HC_BBLERR , HC_DATATGLERR
}
 Host channel States definition.
 

Detailed Description


Data Structure Documentation

◆ USB_CfgTypeDef

struct USB_CfgTypeDef

USB Instance Initialization Structure definition.

Definition at line 93 of file stm32f4xx_ll_usb.h.

Data Fields
uint8_t battery_charging_enable

Enable or disable Battery charging.

uint8_t dev_endpoints

Device Endpoints number. This parameter depends on the used USB core. This parameter must be a number between Min_Data = 1 and Max_Data = 15

uint8_t dma_enable

USB DMA state. If DMA is not supported this parameter shall be set by default to zero

uint8_t ep0_mps

Set the Endpoint 0 Max Packet size.

uint8_t Host_channels

Host Channels number. This parameter Depends on the used USB core. This parameter must be a number between Min_Data = 1 and Max_Data = 15

uint8_t low_power_enable

Enable or disable the low Power Mode.

uint8_t lpm_enable

Enable or disable Link Power Management.

uint8_t phy_itface

Select the used PHY interface. This parameter can be any value of PCD_PHY_Module/HCD_PHY_Module

uint8_t Sof_enable

Enable or disable the output of the SOF signal.

uint8_t speed

USB Core speed. This parameter can be any value of PCD_Speed/HCD_Speed (HCD_SPEED_xxx, HCD_SPEED_xxx)

uint8_t use_dedicated_ep1

Enable or disable the use of the dedicated EP1 interrupt.

uint8_t use_external_vbus

Enable or disable the use of the external VBUS.

uint8_t vbus_sensing_enable

Enable or disable the VBUS Sensing feature.

◆ USB_EPTypeDef

struct USB_EPTypeDef

Definition at line 131 of file stm32f4xx_ll_usb.h.

Data Fields
uint8_t data_pid_start

Initial data PID This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint32_t dma_addr

32 bits aligned transfer buffer address

uint8_t even_odd_frame

IFrame parity This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint8_t is_in

Endpoint direction This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint8_t is_iso_incomplete

Endpoint isoc condition This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint8_t is_stall

Endpoint stall condition This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint32_t maxpacket

Endpoint Max packet size This parameter must be a number between Min_Data = 0 and Max_Data = 64KB

uint8_t num

Endpoint number This parameter must be a number between Min_Data = 1 and Max_Data = 15

uint16_t tx_fifo_num

Transmission FIFO number This parameter must be a number between Min_Data = 1 and Max_Data = 15

uint8_t type

Endpoint type This parameter can be any value of USB Low Layer EP Type

uint8_t * xfer_buff

Pointer to transfer buffer

uint32_t xfer_count

Partial transfer length in case of multi packet transfer

uint32_t xfer_len

Current transfer length

uint32_t xfer_size

requested transfer size

◆ USB_HCTypeDef

struct USB_HCTypeDef

Definition at line 171 of file stm32f4xx_ll_usb.h.

Data Fields
uint8_t ch_num

Host channel number. This parameter must be a number between Min_Data = 1 and Max_Data = 15

uint8_t data_pid

Initial data PID. This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint8_t dev_addr

USB device address. This parameter must be a number between Min_Data = 1 and Max_Data = 255

uint32_t dma_addr

32 bits aligned transfer buffer address.

uint8_t do_csplit

Enable complete split transaction in HS mode.

uint8_t do_ping

Enable or disable the use of the PING protocol for HS mode.

uint8_t do_ssplit

Enable start split transaction in HS mode.

uint8_t ep_is_in

Endpoint direction This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint8_t ep_num

Endpoint number. This parameter must be a number between Min_Data = 1 and Max_Data = 15

uint8_t ep_ss_schedule

Enable periodic endpoint start split schedule .

uint8_t ep_type

Endpoint Type. This parameter can be any value of USB Low Layer EP Type

uint32_t ErrCnt

Host channel error count.

uint8_t hub_addr

USB HUB address

uint8_t hub_port_nbr

USB HUB port number

uint32_t iso_splt_xactPos

iso split transfer transaction position.

uint16_t max_packet

Endpoint Max packet size. This parameter must be a number between Min_Data = 0 and Max_Data = 64KB

uint32_t NyetErrCnt

Complete Split NYET Host channel error count.

uint8_t speed

USB Host Channel speed. This parameter can be any value of HCD_Device_Speed: (HCD_DEVICE_SPEED_xxx)

USB_HCStateTypeDef state

Host Channel state. This parameter can be any value of USB_HCStateTypeDef

uint8_t toggle_in

IN transfer current toggle flag. This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint8_t toggle_out

OUT transfer current toggle flag This parameter must be a number between Min_Data = 0 and Max_Data = 1

USB_URBStateTypeDef urb_state

URB state. This parameter can be any value of USB_URBStateTypeDef

uint8_t * xfer_buff

Pointer to transfer buffer.

uint32_t xfer_count

Partial transfer length in case of multi packet transfer.

uint32_t xfer_len

Current transfer length.

uint32_t XferSize

OTG Channel transfer size.