STM32G474xx HAL User Manual
数据结构 | 宏定义 | 类型定义 | 枚举 | 函数
stm32g4xx_hal_pcd.h 文件参考

PCD HAL模块的头文件。 更多...

#include "stm32g4xx_ll_usb.h"
#include "stm32g4xx_hal_pcd_ex.h"

转到该文件的源代码。

数据结构

struct  __PCD_HandleTypeDef
 PCD句柄结构体定义。 更多...

宏定义

#define PCD_SPEED_FULL   USBD_FS_SPEED
#define PCD_PHY_ULPI   1U
#define PCD_PHY_EMBEDDED   2U
#define PCD_HS_PHY_EMBEDDED   3U
#define PCD_PHY_UTMI   3U
#define HAL_PCD_ERROR_INVALID_CALLBACK   (0x00000010U)
#define __HAL_PCD_ENABLE(__HANDLE__)   (void)USB_EnableGlobalInt ((__HANDLE__)->Instance)
#define __HAL_PCD_DISABLE(__HANDLE__)   (void)USB_DisableGlobalInt ((__HANDLE__)->Instance)
#define __HAL_PCD_GET_FLAG(__HANDLE__, __INTERRUPT__)   ((USB_ReadInterrupts((__HANDLE__)->Instance) & (__INTERRUPT__)) == (__INTERRUPT__))
#define __HAL_PCD_CLEAR_FLAG(__HANDLE__, __INTERRUPT__)
#define __HAL_USB_WAKEUP_EXTI_ENABLE_IT()   EXTI->IMR1 |= USB_WAKEUP_EXTI_LINE
#define __HAL_USB_WAKEUP_EXTI_DISABLE_IT()   EXTI->IMR1 &= ~(USB_WAKEUP_EXTI_LINE)
#define USB_WAKEUP_EXTI_LINE   (0x1UL << 18)
#define PCD_EP0MPS_64   EP_MPS_64
#define PCD_EP0MPS_32   EP_MPS_32
#define PCD_EP0MPS_16   EP_MPS_16
#define PCD_EP0MPS_08   EP_MPS_8
#define PCD_ENDP0   0U
#define PCD_ENDP1   1U
#define PCD_ENDP2   2U
#define PCD_ENDP3   3U
#define PCD_ENDP4   4U
#define PCD_ENDP5   5U
#define PCD_ENDP6   6U
#define PCD_ENDP7   7U
#define PCD_SNG_BUF   0U
#define PCD_DBL_BUF   1U
#define USB_CNTRX_NBLK_MSK   (0x1FUL << 10)
#define USB_CNTRX_BLSIZE   (0x1UL << 15)
#define PCD_SET_ENDPOINT(USBx, bEpNum, wRegValue)   (*(__IO uint16_t *)(&(USBx)->EP0R + ((bEpNum) * 2U)) = (uint16_t)(wRegValue))
#define PCD_GET_ENDPOINT(USBx, bEpNum)   (*(__IO uint16_t *)(&(USBx)->EP0R + ((bEpNum) * 2U)))
#define PCD_SET_EPTYPE(USBx, bEpNum, wType)
 设置端点寄存器中的类型(比特位 EP_TYPE[1:0])
#define PCD_GET_EPTYPE(USBx, bEpNum)   (PCD_GET_ENDPOINT((USBx), (bEpNum)) & USB_EP_T_FIELD)
 获取端点寄存器中的类型(比特位 EP_TYPE[1:0])
#define PCD_FREE_USER_BUFFER(USBx, bEpNum, bDir)
 释放应用实现的缓冲区使用,使其在双缓冲端点寄存器中切换SW_BUF位
#define PCD_SET_EP_TX_STATUS(USBx, bEpNum, wState)
 设置tx传输的状态(比特位 STAT_TX[1:0])。
#define PCD_SET_EP_RX_STATUS(USBx, bEpNum, wState)
 设置rx传输的状态(比特位 STAT_TX[1:0])
#define PCD_SET_EP_TXRX_STATUS(USBx, bEpNum, wStaterx, wStatetx)
 设置rx和tx的状态(比特位 STAT_TX[1:0]和STAT_RX[1:0])
#define PCD_GET_EP_TX_STATUS(USBx, bEpNum)   ((uint16_t)PCD_GET_ENDPOINT((USBx), (bEpNum)) & USB_EPTX_STAT)
 获取tx/rx传输的状态(比特位 STAT_TX[1:0]/STAT_RX[1:0])
#define PCD_GET_EP_RX_STATUS(USBx, bEpNum)   ((uint16_t)PCD_GET_ENDPOINT((USBx), (bEpNum)) & USB_EPRX_STAT)
#define PCD_SET_EP_TX_VALID(USBx, bEpNum)   (PCD_SET_EP_TX_STATUS((USBx), (bEpNum), USB_EP_TX_VALID))
 直接在端点寄存器中设置VALID tx/rx状态
#define PCD_SET_EP_RX_VALID(USBx, bEpNum)   (PCD_SET_EP_RX_STATUS((USBx), (bEpNum), USB_EP_RX_VALID))
#define PCD_GET_EP_TX_STALL_STATUS(USBx, bEpNum)   (PCD_GET_EP_TX_STATUS((USBx), (bEpNum)) == USB_EP_TX_STALL)
 检查端点中的停止条件。
#define PCD_GET_EP_RX_STALL_STATUS(USBx, bEpNum)   (PCD_GET_EP_RX_STATUS((USBx), (bEpNum)) == USB_EP_RX_STALL)
#define PCD_SET_EP_KIND(USBx, bEpNum)
 设置和清除EP_KIND位。
#define PCD_CLEAR_EP_KIND(USBx, bEpNum)
#define PCD_SET_OUT_STATUS(USBx, bEpNum)   PCD_SET_EP_KIND((USBx), (bEpNum))
 直接在端点寄存器中设置/清除STATUS_OUT位。