📄 pe_usb_fifoepxcfg.c
字号:
#include <stdarg.h>#include "Pe_usb.h"#include "Pe_usb_hs_pos.h"#include "Pe_usb_fs_pos.h"#include "FOTG200_peripheral.h"#include "Pe_my_usbtable.h"#if((OTG_AP_Satus == Bulk_AP) || (OTG_AP_Satus == Interrupt_AP))/////////////////////////////////////////////////////// vOTGFIFO_EPxCfg_HS(void)// Description:// 1. Configure the FIFO and EPx map// input: none// output: none/////////////////////////////////////////////////////void vOTGFIFO_EPxCfg_HS(void){ int i; switch (u8OTGConfigValue) { #if (HS_CONFIGURATION_NUMBER >= 0X01) // Configuration 0X01 case 0X01: switch (u8OTGInterfaceValue) { #if (HS_C1_INTERFACE_NUMBER >= 0x01) // Interface 0 case 0: switch (u8OTGInterfaceAlternateSetting) { #if (HS_C1_I0_ALT_NUMBER >= 0X01) // AlternateSetting 0 case 0: #if (HS_C1_I0_A0_EP_NUMBER >= 0X01) //EP0X01 mUsbEPMap(EP1, HS_C1_I0_A0_EP1_MAP); mUsbFIFOMap(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_MAP); mUsbFIFOConfig(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_CONFIG); for(i = HS_C1_I0_A0_EP1_FIFO_START + 1 ; i < HS_C1_I0_A0_EP1_FIFO_START + HS_C1_I0_A0_EP1_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (HS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP1, HS_C1_I0_A0_EP1_DIRECTION, (HS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff) ); mUsbEPinHighBandSet(EP1 , HS_C1_I0_A0_EP1_DIRECTION , HS_C1_I0_A0_EP1_MAX_PACKET); #endif #if (HS_C1_I0_A0_EP_NUMBER >= 0X02) //EP0X02 mUsbEPMap(EP2, HS_C1_I0_A0_EP2_MAP); #if((OTG_AP_Satus == Bulk_AP) && (Bulk_Satus == Bulk_FIFO_SingleDir)) mUsbFIFOMap(HS_C1_I0_A0_EP2_FIFO_START, HS_C1_I0_A0_EP2_FIFO_MAP); #endif mUsbFIFOConfig(HS_C1_I0_A0_EP2_FIFO_START, HS_C1_I0_A0_EP2_FIFO_CONFIG); for(i = HS_C1_I0_A0_EP2_FIFO_START + 1 ; i < HS_C1_I0_A0_EP2_FIFO_START + HS_C1_I0_A0_EP2_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (HS_C1_I0_A0_EP2_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP2, HS_C1_I0_A0_EP2_DIRECTION, (HS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff) ); mUsbEPinHighBandSet(EP2 , HS_C1_I0_A0_EP2_DIRECTION , HS_C1_I0_A0_EP2_MAX_PACKET); #endif #if (HS_C1_I0_A0_EP_NUMBER >= 0X03) //EP0X03 mUsbEPMap(EP3, HS_C1_I0_A0_EP3_MAP); mUsbFIFOMap(HS_C1_I0_A0_EP3_FIFO_START, HS_C1_I0_A0_EP3_FIFO_MAP); mUsbFIFOConfig(HS_C1_I0_A0_EP3_FIFO_START, HS_C1_I0_A0_EP3_FIFO_CONFIG); for(i = HS_C1_I0_A0_EP3_FIFO_START + 1 ; i < HS_C1_I0_A0_EP3_FIFO_START + HS_C1_I0_A0_EP3_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (HS_C1_I0_A0_EP3_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP3, HS_C1_I0_A0_EP3_DIRECTION, (HS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff) ); mUsbEPinHighBandSet(EP3, HS_C1_I0_A0_EP3_DIRECTION , HS_C1_I0_A0_EP3_MAX_PACKET); #endif #if (HS_C1_I0_A0_EP_NUMBER >= 0X04) //EP0X04 mUsbEPMap(EP4, HS_C1_I0_A0_EP4_MAP); mUsbFIFOMap(HS_C1_I0_A0_EP4_FIFO_START, HS_C1_I0_A0_EP4_FIFO_MAP); mUsbFIFOConfig(HS_C1_I0_A0_EP4_FIFO_START, HS_C1_I0_A0_EP4_FIFO_CONFIG); for(i = HS_C1_I0_A0_EP4_FIFO_START + 1 ; i < HS_C1_I0_A0_EP4_FIFO_START + HS_C1_I0_A0_EP4_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (HS_C1_I0_A0_EP4_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP4, HS_C1_I0_A0_EP4_DIRECTION, (HS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff) ); mUsbEPinHighBandSet(EP4 , HS_C1_I0_A0_EP4_DIRECTION , HS_C1_I0_A0_EP4_MAX_PACKET); #endif break; #endif default: break; } break; #endif default: break; } break; #endif default: break; }}void vOTGFIFO_EPxCfg_FS(void){ int i; switch (u8OTGConfigValue) { #if (FS_CONFIGURATION_NUMBER >= 0X01) // Configuration 0X01 case 0X01: switch (u8OTGInterfaceValue) { #if (FS_C1_INTERFACE_NUMBER >= 0x01) // Interface 0 case 0: switch (u8OTGInterfaceAlternateSetting) { #if (FS_C1_I0_ALT_NUMBER >= 0X01) // AlternateSetting 0 case 0: #if (FS_C1_I0_A0_EP_NUMBER >= 0X01) //EP0X01 mUsbEPMap(EP1, FS_C1_I0_A0_EP1_MAP); mUsbFIFOMap(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_MAP); mUsbFIFOConfig(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_CONFIG); for(i = FS_C1_I0_A0_EP1_FIFO_START + 1 ; i < FS_C1_I0_A0_EP1_FIFO_START + FS_C1_I0_A0_EP1_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (FS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP1, FS_C1_I0_A0_EP1_DIRECTION, (FS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff)); mUsbEPinHighBandSet(EP1 , FS_C1_I0_A0_EP1_DIRECTION, FS_C1_I0_A0_EP1_MAX_PACKET); #endif #if (FS_C1_I0_A0_EP_NUMBER >= 0X02) //EP0X02 mUsbEPMap(EP2, FS_C1_I0_A0_EP2_MAP); #if((OTG_AP_Satus == Bulk_AP) && (Bulk_Satus == Bulk_FIFO_SingleDir)) mUsbFIFOMap(FS_C1_I0_A0_EP2_FIFO_START, FS_C1_I0_A0_EP2_FIFO_MAP); #endif mUsbFIFOConfig(FS_C1_I0_A0_EP2_FIFO_START, FS_C1_I0_A0_EP2_FIFO_CONFIG); for(i = FS_C1_I0_A0_EP2_FIFO_START + 1 ; i < FS_C1_I0_A0_EP2_FIFO_START + FS_C1_I0_A0_EP2_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (FS_C1_I0_A0_EP2_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP2, FS_C1_I0_A0_EP2_DIRECTION, (FS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff)); mUsbEPinHighBandSet(EP2 , FS_C1_I0_A0_EP2_DIRECTION, FS_C1_I0_A0_EP2_MAX_PACKET); #endif #if (FS_C1_I0_A0_EP_NUMBER >= 0X03) //EP0X03 mUsbEPMap(EP3, FS_C1_I0_A0_EP3_MAP); mUsbFIFOMap(FS_C1_I0_A0_EP3_FIFO_START, FS_C1_I0_A0_EP3_FIFO_MAP); mUsbFIFOConfig(FS_C1_I0_A0_EP3_FIFO_START, FS_C1_I0_A0_EP3_FIFO_CONFIG); for(i = FS_C1_I0_A0_EP3_FIFO_START + 1 ; i < FS_C1_I0_A0_EP3_FIFO_START + FS_C1_I0_A0_EP3_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (FS_C1_I0_A0_EP3_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP3, FS_C1_I0_A0_EP3_DIRECTION, (FS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff)); mUsbEPinHighBandSet(EP3 , FS_C1_I0_A0_EP3_DIRECTION, FS_C1_I0_A0_EP3_MAX_PACKET); #endif #if (FS_C1_I0_A0_EP_NUMBER >= 0X04) //EP0X01 mUsbEPMap(EP4, FS_C1_I0_A0_EP4_MAP); mUsbFIFOMap(FS_C1_I0_A0_EP4_FIFO_START, FS_C1_I0_A0_EP4_FIFO_MAP); mUsbFIFOConfig(FS_C1_I0_A0_EP4_FIFO_START, FS_C1_I0_A0_EP4_FIFO_CONFIG); for(i = FS_C1_I0_A0_EP4_FIFO_START + 1 ; i < FS_C1_I0_A0_EP4_FIFO_START + FS_C1_I0_A0_EP4_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (FS_C1_I0_A0_EP4_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP4, FS_C1_I0_A0_EP4_DIRECTION, (FS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff)); mUsbEPinHighBandSet(EP4 , FS_C1_I0_A0_EP4_DIRECTION, FS_C1_I0_A0_EP4_MAX_PACKET); #endif break; #endif default: break; } break; #endif default: break; } break; #endif default: break; }}#elif((OTG_AP_Satus == IsochronousIN_AP) || (OTG_AP_Satus == IsochronousOUT_AP))/////////////////////////////////////////////////////// vOTGFIFO_EPxCfg_HS(void)// Description:// 1. Configure the FIFO and EPx map// input: none// output: none/////////////////////////////////////////////////////void vOTGFIFO_EPxCfg_HS(void){ int i; switch (u8OTGConfigValue) { #if (HS_CONFIGURATION_NUMBER >= 0X01) // Configuration 0X01 case 0X01: switch (u8OTGInterfaceValue) { #if (HS_C1_INTERFACE_NUMBER >= 0x01) // Interface 0 case 0: switch (u8OTGInterfaceAlternateSetting) { #if (HS_C1_I0_ALT_NUMBER >= 0X01) // AlternateSetting 0 case 0: #if (HS_C1_I0_A0_EP_NUMBER >= 0X01) //EP0X01 mUsbEPMap(EP1, HS_C1_I0_A0_EP1_MAP); mUsbFIFOMap(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_MAP); mUsbFIFOConfig(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_CONFIG); for(i = HS_C1_I0_A0_EP1_FIFO_START + 1 ; i < HS_C1_I0_A0_EP1_FIFO_START + HS_C1_I0_A0_EP1_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (HS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP1, HS_C1_I0_A0_EP1_DIRECTION, (HS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff) ); mUsbEPinHighBandSet(EP1 , HS_C1_I0_A0_EP1_DIRECTION , HS_C1_I0_A0_EP1_MAX_PACKET); #endif break; #endif default: break; } break; #endif default: break; } break; #endif default: break; }}void vOTGFIFO_EPxCfg_FS(void){ int i; switch (u8OTGConfigValue) { #if (FS_CONFIGURATION_NUMBER >= 0X01) // Configuration 0X01 case 0X01: switch (u8OTGInterfaceValue) { #if (FS_C1_INTERFACE_NUMBER >= 0x01) // Interface 0 case 0: switch (u8OTGInterfaceAlternateSetting) { #if (FS_C1_I0_ALT_NUMBER >= 0X01) // AlternateSetting 0 case 0: #if (FS_C1_I0_A0_EP_NUMBER >= 0X01) //EP0X01 mUsbEPMap(EP1, FS_C1_I0_A0_EP1_MAP); mUsbFIFOMap(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_MAP); mUsbFIFOConfig(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_CONFIG); for(i = FS_C1_I0_A0_EP1_FIFO_START + 1 ; i < FS_C1_I0_A0_EP1_FIFO_START + FS_C1_I0_A0_EP1_FIFO_NO ; i ++) { mUsbFIFOConfig(i, (FS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) ); } mUsbEPMxPtSz(EP1, FS_C1_I0_A0_EP1_DIRECTION, (FS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff)); mUsbEPinHighBandSet(EP1 , FS_C1_I0_A0_EP1_DIRECTION, FS_C1_I0_A0_EP1_MAX_PACKET); #endif break; #endif default: break; } break; #endif default: break; } break; #endif default: break; }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -