📄 lpc24xx_usb.h
字号:
* Function Name: USB_HwReset
* Parameters: none
*
* Return: none
*
* Description: Reset Usb engine
*
*************************************************************************/
static
void USB_HwReset (void);
/*************************************************************************
* Function Name: USB_RealizeEp
* Parameters: USB_Endpoint_t EndPoint, Boolean FastIntr,
* Int32U MaxPacketSize, Boolean IntrEna
*
* Return: USB_ErrorCodes_t
*
* Description: Enable or disable endpoint
*
*************************************************************************/
USB_ErrorCodes_t USB_RealizeEp(USB_Endpoint_t EndPoint, Boolean FastIntr,
Int32U MaxPacketSize, Boolean IntrEna);
/*************************************************************************
* Function Name: USB_SetAdd
* Parameters: Int32U DevAdd - device address between 0 - 127
*
* Return: none
*
* Description: Set device address
*
*************************************************************************/
static
void USB_SetAdd(Int32U DevAdd);
#define USB_SetDefAdd() USB_SetAdd(0)
/*************************************************************************
* Function Name: USB_ConnectRes
* Parameters: Boolean Conn
*
* Return: none
*
* Description: Enable Pull-Up resistor
*
*************************************************************************/
void USB_ConnectRes (Boolean Conn);
/*************************************************************************
* Function Name: USB_Configure
* Parameters: Boolean Configure
*
* Return: none
*
* Description: Configure device
* When Configure != 0 enable all Realize EP
*
*************************************************************************/
static
void USB_Configure (Boolean Configure);
#if USB_REMOTE_WAKEUP != 0
/*************************************************************************
* Function Name: USB_Wake-up
* Parameters: none
*
* Return: none
*
* Description: Wake up Usb
*
*************************************************************************/
static
void USB_WakeUp (void);
#endif // USB_REMOTE_WAKEUP != 0
/*************************************************************************
* Function Name: USB_GetDevStatus
* Parameters: USB_DevStatusReqType_t Type
*
* Return: Boolean
*
* Description: Return USB device status
*
*************************************************************************/
Boolean USB_GetDevStatus (USB_DevStatusReqType_t Type);
/*************************************************************************
* Function Name: USB_SetStallEP
* Parameters: USB_Endpoint_t EndPoint, Boolean Stall
*
* Return: none
*
* Description: The endpoint stall/unstall
*
*************************************************************************/
void USB_SetStallEP (USB_Endpoint_t EndPoint, Boolean Stall);
/*************************************************************************
* Function Name: USB_GetStallEP
* Parameters: USB_Endpoint_t EndPoint, pBoolean pStall
*
* Return: none
*
* Description: Get stall state of the endpoint
*
*************************************************************************/
void USB_GetStallEP (USB_Endpoint_t EndPoint, pBoolean pStall);
/*************************************************************************
* Function Name: USB_EpValidate
* Parameters: USB_Endpoint_t EndPoint
*
* Return: USB_ErrorCodes_t
*
* Description: Validate/Clear EP buffer
*
*************************************************************************/
USB_ErrorCodes_t USB_EpValidate(USB_Endpoint_t EndPoint);
/*************************************************************************
* Function Name: USB_EpWrite
* Parameters: USB_Endpoint_t EndPoint,
* const unsigned char *pData, pInt32U pCount
*
* Return: USB_ErrorCodes_t
*
* Description: Endpoint Write (IN)
*
*************************************************************************/
USB_ErrorCodes_t USB_EpWrite (USB_Endpoint_t EndPoint,
const unsigned char *pData, pInt32U pCount);
/*************************************************************************
* Function Name: USB_EpRead
* Parameters: USB_Endpoint_t EndPoint, pInt8U pData, pInt32U pCount
*
* Return: USB_ErrorCodes_t
*
* Description: Endpoint Read (OUT)
*
*************************************************************************/
USB_ErrorCodes_t USB_EpRead (USB_Endpoint_t EndPoint, pInt8U pData,
pInt32U pCount);
/*************************************************************************
* Function Name: USB_EpLogToPhysAdd
* Parameters: Int8U EpLogAdd
*
* Return: USB_Endpoint_t
*
* Description: Convert the logical to physical address
*
*************************************************************************/
USB_Endpoint_t USB_EpLogToPhysAdd (Int8U EpLogAdd);
#if USB_SOF_EVENT > 0
/*************************************************************************
* Function Name: USB_GetFrameNumb
* Parameters: none
*
* Return: Int32U
*
* Description: Return current value of SOF number
*
*************************************************************************/
Int32U USB_GetFrameNumb (void);
#endif // USB_SOF_EVENT > 0
/*************************************************************************
* Function Name: USB_ISR
* Parameters: none
*
* Return: none
*
* Description: USB interrupt subroutine
*
*************************************************************************/
static void USB_ISR (void);
/*************************************************************************
* Function Name: UsbCtrlEp
* Parameters: void * pArg
*
* Return: none
*
* Description: USB Ctrl EP Callback
*
*************************************************************************/
static inline
void UsbCtrlEp (USB_PacketType_t Packet);
#if USB_DMA > 0
typedef enum _UsbDmaStateCode_t
{
UsbDmaNoServiced = 0,UsbDmaBeingServiced,
UsbDmaNormalCompletion, UsbDmaDataUnderrun,
UsbDmaDataOverrun = 8, UsbDmaSystemError,
UsbDmaParametersError,
} UsbDmaStateCode_t;
typedef enum
{
UsbDmaNormalMode = 0, UsbDmaAtleMode,
} UsbDmaMode_t;
#pragma pack(1)
typedef struct _DmaIsoPacket_t
{
Int32U PacketLength :16;
Int32U PacketValid : 1;
Int32U FrameNumb :15;
} DmaIsoPacket_t, *pDmaIsoPacket_t;
typedef struct _USB_DmaDesc_t
{
void * pNextDD;
union
{
Int32U Ctrl;
struct
{
Int32U DmaMode : 2;
Int32U NextDDValid : 1;
Int32U : 1;
Int32U Isochronous : 1;
Int32U MaxPacketSize :11;
Int32U DmaBufferLegtn :16;
};
};
pInt32U pDmaBuffer;
union
{
Int32U Status;
struct
{
Int32U DdRetired : 1;
Int32U DdState : 4;
Int32U PacketValid : 1;
Int32U LsByteExtr : 1;
Int32U MsByteExtr : 1;
Int32U MessLenPos : 6;
Int32U : 2;
Int32U PresentCnt :16;
};
};
pDmaIsoPacket_t pDmaIsoPacket;
} USB_DmaDesc_t, *pUSB_DmaDesc_t;
#pragma pack()
/*************************************************************************
* Function Name: USB_DmaReset
* Parameters: Int32U IntrEna
*
* Return: none
*
* Description: Reset USB DMA
*
*************************************************************************/
void USB_DmaReset (Int32U IntrEna);
/*************************************************************************
* Function Name: USB_DmaInitTransfer
* Parameters: USB_Endpoint_t EndPoint, Int32U DmaDescInd,
* pInt32U pData, Int32U EpMaxSize, Int32U Size
* pDmaIsoPacket_t pDmaIsoPacket, Boolean EpTransferType
*
* Return: UsbDmaStateCode_t
*
* Description: Init Transfer by DMA
*
*************************************************************************/
UsbDmaStateCode_t USB_DmaInitTransfer (USB_Endpoint_t EndPoint,
Int32U DmaDescInd, pInt32U pData, Int32U EpMaxSize, Int32U Size,
pDmaIsoPacket_t pDmaIsoPacket, Boolean EpTransferType);
/*************************************************************************
* Function Name: USB_DmaRestartTransfer
* Parameters: USB_Endpoint_t EndPoint, Int32U DmaDescInd,
* pInt32U pData, Int32U EpMaxSize, Int32U Size
* pDmaIsoPacket_t pDmaIsoPacket, Boolean EpTransferType
*
* Return: none
*
* Description: Restart DMA Transfer
*
*************************************************************************/
void USB_DmaRestartTransfer (USB_Endpoint_t EndPoint,Int32U DmaDescInd);
/*************************************************************************
* Function Name: USB_DmaGetDesc
* Parameters: Int32U DmaDescInd
*
* Return: pUSB_DmaDesc_t
*
* Description: Return pointer to DMA descriptor
*
*************************************************************************/
pUSB_DmaDesc_t USB_DmaGetDesc (Int32U DmaDescInd);
/*************************************************************************
* Function Name: USB_DmaDisable
* Parameters: USB_Endpoint_t EndPoint
*
* Return: none
*
* Description: Disable DMA transfer for the EP
*
*************************************************************************/
void USB_DmaDisable (USB_Endpoint_t EndPoint);
#endif // USB_DMA
#endif //__LPC24XX_USB_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -