📄 spl162001.h
字号:
////////////////////////////////////////
// SPI Control Registers
// Base Address Start from 0x7140
////////////////////////////////////////
#define P_SPI_Ctrl (volatile unsigned int*)(P_SPI_Ctrl_Base+0x00)
#define P_SPI_TXStatus (volatile unsigned int*)(P_SPI_Ctrl_Base+0x01)
#define P_SPI_TXData (volatile unsigned int*)(P_SPI_Ctrl_Base+0x02)
#define P_SPI_RXStatus (volatile unsigned int*)(P_SPI_Ctrl_Base+0x03)
#define P_SPI_RXData (volatile unsigned int*)(P_SPI_Ctrl_Base+0x04)
#define P_SPI_Misc (volatile unsigned int*)(P_SPI_Ctrl_Base+0x05)
////////////////////////////////////////
// LCD Control Registers
// Base Address Start from 0x7180
////////////////////////////////////////
#define P_LCD_Setup (volatile unsigned int*)(P_LCD_Ctrol_Base+0x00)
#define P_LCD_Clock (volatile unsigned int*)(P_LCD_Ctrol_Base+0x01)
#define P_LCD_Segment (volatile unsigned int*)(P_LCD_Ctrol_Base+0x02)
#define P_LCD_Common (volatile unsigned int*)(P_LCD_Ctrol_Base+0x03)
#define P_LCD_Buffer_LowAdr (volatile unsigned int*)(P_LCD_Ctrol_Base+0x04)
#define P_LCD_Buffer_HighAdr (volatile unsigned int*)(P_LCD_Ctrol_Base+0x05)
#define P_LCD_Buffer_Offset (volatile unsigned int*)(P_LCD_Ctrol_Base+0x06)
#define P_LCD_Timing_Ctrl (volatile unsigned int*)(P_LCD_Ctrol_Base+0x07)
#define P_LCD_Frame_Ctrl (volatile unsigned int*)(P_LCD_Ctrol_Base+0x08)
#define P_LCD_Palette_Ctrl (volatile unsigned int*)(P_LCD_Ctrol_Base+0x09)
#define P_LCD_Attri_Ctrl (volatile unsigned int*)(P_LCD_Ctrol_Base+0x0A)
////////////////////////////////////////
// CMOS Sensor Control Registers
// Base Address Start from 0x71A0
////////////////////////////////////////
#define P_ImSensor_Ctrl (volatile unsigned int*)(P_ImageSensor_Ctrl_Base+0x00)
#define P_ImSensor_Buffer_Size (volatile unsigned int*)(P_ImageSensor_Ctrl_Base+0x01)
#define P_ImSensor_Buffer_LowAdr (volatile unsigned int*)(P_ImageSensor_Ctrl_Base+0x02)
#define P_ImSensor_Buffer_HighAdr (volatile unsigned int*)(P_ImageSensor_Ctrl_Base+0x03)
#define P_ImSensor_Flag (volatile unsigned int*)(P_ImageSensor_Ctrl_Base+0x04)
////////////////////////////////////////
// Serial Interface Control Registers
// Base Address Start from 0x71B0
////////////////////////////////////////
#define P_SIO_Ctrl (volatile unsigned int*)(P_SerialInterface_Ctrl_Base+0x00)
#define P_SIO_Status (volatile unsigned int*)(P_SerialInterface_Ctrl_Base+0x01)
#define P_SIO_AddrL (volatile unsigned int*)(P_SerialInterface_Ctrl_Base+0x02)
#define P_SIO_AdrH (volatile unsigned int*)(P_SerialInterface_Ctrl_Base+0x03)
#define P_SIO_Data (volatile unsigned int*)(P_SerialInterface_Ctrl_Base+0x04)
////////////////////////////////////////
// ADC Control Registers
// Base Address Start from 0x7160
////////////////////////////////////////
#define P_ADC_Setup (volatile unsigned int*)(P_Analog_Ctrl_Base+0x00)
#define P_MADC_Ctrl (volatile unsigned int*)(P_Analog_Ctrl_Base+0x01)
#define P_MADC_Data (volatile unsigned int*)(P_Analog_Ctrl_Base+0x02)
#define P_ASADC_Ctrl (volatile unsigned int*)(P_Analog_Ctrl_Base+0x03)
#define P_ASADC_Data (volatile unsigned int*)(P_Analog_Ctrl_Base+0x04)
#define P_TP_Ctrl (volatile unsigned int*)(P_Analog_Ctrl_Base+0x05)
////////////////////////////////////////
// I2C Control Registers
// Base Address Start from 0x7360
////////////////////////////////////////
#define P_I2C_Ctrl (volatile unsigned int*)(P_I2C_Base+0x00)
#define P_I2C_Status (volatile unsigned int*)(P_I2C_Base+0x01)
#define P_I2C_Addr (volatile unsigned int*)(P_I2C_Base+0x02)
#define P_I2C_Data (volatile unsigned int*)(P_I2C_Base+0x03)
#define P_I2C_DeCLK (volatile unsigned int*)(P_I2C_Base+0x04)
#define P_I2C_En (volatile unsigned int*)(P_I2C_Base+0x05)
////////////////////////////////////////
// DMA Control Registers
// Base Address Start from 0x7380
////////////////////////////////////////
#define P_DMA_Ctrl0 (volatile unsigned int*)(P_DMA_Base+0x00)
#define P_DMA_SRC_AddrL0 (volatile unsigned int*)(P_DMA_Base+0x01)
#define P_DMA_TAR_AddrL0 (volatile unsigned int*)(P_DMA_Base+0x02)
#define P_DMA_TCountL0 (volatile unsigned int*)(P_DMA_Base+0x03)
#define P_DMA_SRC_AddrH0 (volatile unsigned int*)(P_DMA_Base+0x04)
#define P_DMA_TAR_AddrH0 (volatile unsigned int*)(P_DMA_Base+0x05)
#define P_DMA_TCountH0 (volatile unsigned int*)(P_DMA_Base+0x06)
#define P_DMA_Ctrl (volatile unsigned int*)(P_DMA_Base+0x08)
#define P_DMA_SRC_AddrL1 (volatile unsigned int*)(P_DMA_Base+0x09)
#define P_DMA_TAR_AddrL1 (volatile unsigned int*)(P_DMA_Base+0x0A)
#define P_DMA_TCountL1 (volatile unsigned int*)(P_DMA_Base+0x0B)
#define P_DMA_SRC_AddrH1 (volatile unsigned int*)(P_DMA_Base+0x0C)
#define P_DMA_TAR_AddrH1 (volatile unsigned int*)(P_DMA_Base+0x0D)
#define P_DMA_TCountH1 (volatile unsigned int*)(P_DMA_Base+0x0E)
#define P_DMA_Ctrl2 (volatile unsigned int*)(P_DMA_Base+0x10)
#define P_DMA_SRC_AddrL2 (volatile unsigned int*)(P_DMA_Base+0x11)
#define P_DMA_TAR_AddrL2 (volatile unsigned int*)(P_DMA_Base+0x12)
#define P_DMA_TCountL2 (volatile unsigned int*)(P_DMA_Base+0x13)
#define P_DMA_SRC_AddrH2 (volatile unsigned int*)(P_DMA_Base+0x14)
#define P_DMA_TAR_AddrH2 (volatile unsigned int*)(P_DMA_Base+0x15)
#define P_DMA_TCountH2 (volatile unsigned int*)(P_DMA_Base+0x16)
#define P_DMA_Ctrl3 (volatile unsigned int*)(P_DMA_Base+0x18)
#define P_DMA_SRC_AddrL3 (volatile unsigned int*)(P_DMA_Base+0x19)
#define P_DMA_TAR_AddrL3 (volatile unsigned int*)(P_DMA_Base+0x1A)
#define P_DMA_TCountL3 (volatile unsigned int*)(P_DMA_Base+0x1B)
#define P_DMA_SRC_AddrH3 (volatile unsigned int*)(P_DMA_Base+0x1C)
#define P_DMA_TAR_AddrH3 (volatile unsigned int*)(P_DMA_Base+0x1D)
#define P_DMA_TCountH3 (volatile unsigned int*)(P_DMA_Base+0x1E)
#define P_DMA_SS (volatile unsigned int*)(P_DMA_Base+0x3E)
#define P_DMA_INT (volatile unsigned int*)(P_DMA_Base+0x3F)
#define DMA_CH3_BUSY 0x0800
#define DMA_CH2_BUSY 0x0400
#define DMA_CH1_BUSY 0x0200
#define DMA_CH0_BUSY 0x0100
#define DMA_CH3_INT 0x0008
#define DMA_CH2_INT 0x0004
#define DMA_CH1_INT 0x0002
#define DMA_CH0_INT 0x0001
////////////////////////////////////////
// SD Control Registers
// Base Address Start from 0x71D0
////////////////////////////////////////
#define P_SD_DataTX (volatile unsigned int*)(P_SD_Base+0x00)
#define P_SD_DataRX (volatile unsigned int*)(P_SD_Base+0x01)
#define P_SD_CMD (volatile unsigned int*)(P_SD_Base+0x02)
#define P_SD_ArgL (volatile unsigned int*)(P_SD_Base+0x03)
#define P_SD_ArgH (volatile unsigned int*)(P_SD_Base+0x04)
#define P_SD_RespL (volatile unsigned int*)(P_SD_Base+0x05)
#define P_SD_RespH (volatile unsigned int*)(P_SD_Base+0x06)
#define P_SD_Status (volatile unsigned int*)(P_SD_Base+0x07)
#define P_SD_Ctrl (volatile unsigned int*)(P_SD_Base+0x08)
#define P_SD_BLKLEN (volatile unsigned int*)(P_SD_Base+0x09)
#define P_SD_INT (volatile unsigned int*)(P_SD_Base+0x0A)
#define SD_CommandComplete_INT 0x0001
#define SD_DataComplete_INT 0x0002
#define SD_CommandBufferFull_INT 0x0004
#define SD_DataBufferFull_INT 0x0008
#define SD_DataBufferEmpty_INT 0x0010
#define SD_CardInsert_INT 0x0020
#define SD_SDIOCard_INT 0x0040
////////////////////////////////////////
// KeyScan Control Registers
// Base Address Start from 0x73C0
////////////////////////////////////////
#define P_KS_Ctrl (volatile unsigned int*)(P_KeyScan_Base+0x00)
#define P_KS_Data0 (volatile unsigned int*)(P_KeyScan_Base+0x08)
#define P_KS_Data1 (volatile unsigned int*)(P_KeyScan_Base+0x09)
#define P_KS_Data2 (volatile unsigned int*)(P_KeyScan_Base+0x0A)
#define P_KS_Data3 (volatile unsigned int*)(P_KeyScan_Base+0x0B)
#define P_KS_Data4 (volatile unsigned int*)(P_KeyScan_Base+0x0C)
#define P_KS_Data5 (volatile unsigned int*)(P_KeyScan_Base+0x0D)
#define P_KS_Data6 (volatile unsigned int*)(P_KeyScan_Base+0x0E)
#define P_KS_Data7 (volatile unsigned int*)(P_KeyScan_Base+0x0F)
////////////////////////////////////////
// USB Device Control Registers
// Base Address Start from 0x7330
////////////////////////////////////////
#define P_USBD_Config (volatile unsigned int*)(P_USBDevice_Base+0x00)
#define P_USBD_Device (volatile unsigned int*)(P_USBDevice_Base+0x27)
#define P_USBD_Function (volatile unsigned int*)(P_USBDevice_Base+0x01)
#define P_USBD_PMR (volatile unsigned int*)(P_USBDevice_Base+0x02)
#define P_USBD_EP0Data (volatile unsigned int*)(P_USBDevice_Base+0x03)
#define P_USBD_BIData (volatile unsigned int*)(P_USBDevice_Base+0x04)
#define P_USBD_BOData (volatile unsigned int*)(P_USBDevice_Base+0x05)
#define P_USBD_INTINData (volatile unsigned int*)(P_USBDevice_Base+0x06)
#define P_USBD_EPEvent (volatile unsigned int*)(P_USBDevice_Base+0x07)
#define P_USBD_GLOINT (volatile unsigned int*)(P_USBDevice_Base+0x08)
#define P_USBD_INTEN (volatile unsigned int*)(P_USBDevice_Base+0x09)
#define P_USBD_INT (volatile unsigned int*)(P_USBDevice_Base+0x0A)
#define P_USBD_SCINTEM (volatile unsigned int*)(P_USBDevice_Base+0x0B)
#define P_USBD_SCINT (volatile unsigned int*)(P_USBDevice_Base+0x0C)
#define P_USBD_EPAutoSet (volatile unsigned int*)(P_USBDevice_Base+0x0D)
#define P_USBD_EPSetStall (volatile unsigned int*)(P_USBDevice_Base+0x0E)
#define P_USBD_EPBufClear (volatile unsigned int*)(P_USBDevice_Base+0x0F)
#define P_USBD_EPEvntClear (volatile unsigned int*)(P_USBDevice_Base+0x10)
#define P_USBD_EP0WrtCount (volatile unsigned int*)(P_USBDevice_Base+0x11)
#define P_USBD_BOWrtCount (volatile unsigned int*)(P_USBDevice_Base+0x12)
#define P_USBD_EP0BufPointer (volatile unsigned int*)(P_USBDevice_Base+0x13)
#define P_USBD_BBufRdPointer (volatile unsigned int*)(P_USBDevice_Base+0x14)
#define P_USBD_BBufWrtPointer (volatile unsigned int*)(P_USBDevice_Base+0x15)
#define P_USBD_EP0RTR (volatile unsigned int*)(P_USBDevice_Base+0x16)
#define P_USBD_EP0RR (volatile unsigned int*)(P_USBDevice_Base+0x17)
#define P_USBD_EP0VR (volatile unsigned int*)(P_USBDevice_Base+0x18)
#define P_USBD_EP0IR (volatile unsigned int*)(P_USBDevice_Base+0x19)
#define P_USBD_EP0LR (volatile unsigned int*)(P_USBDevice_Base+0x1A)
#define P_USBD_BIAckL (volatile unsigned int*)(P_USBDevice_Base+0x1B)
#define P_USBD_BIAckH (volatile unsigned int*)(P_USBDevice_Base+0x1C)
#define P_USBD_BOAckL (volatile unsigned int*)(P_USBDevice_Base+0x1D)
#define P_USBD_BOAckH (volatile unsigned int*)(P_USBDevice_Base+0x1E)
#define P_USBD_INTINAck (volatile unsigned int*)(P_USBDevice_Base+0x1F)
#define P_USBD_DMAWrtCountL (volatile unsigned int*)(P_USBDevice_Base+0x20)
#define P_USBD_DMAWrtCountH (volatile unsigned int*)(P_USBDevice_Base+0x21)
#define P_USBD_EP0SData (volatile unsigned int*)(P_USBDevice_Base+0x22)
#define P_USBD_INTSData (volatile unsigned int*)(P_USBDevice_Base+0x23)
#define P_USBD_EPStall (volatile unsigned int*)(P_USBDevice_Base+0x24)
////////////////////////////////////////
// USB Host Control Registers
// Base Address Start from 0x7300
////////////////////////////////////////
#define P_USBH_Config (volatile unsigned int*)(P_USBHost_Base+0x00)
#define P_USBH_TimeConfig (volatile unsigned int*)(P_USBHost_Base+0x01)
#define P_USBH_Data (volatile unsigned int*)(P_USBHost_Base+0x02)
#define P_USBH_Transfer (volatile unsigned int*)(P_USBHost_Base+0x03)
#define P_USBH_DveAddr (volatile unsigned int*)(P_USBHost_Base+0x04)
#define P_USBH_DveEp (volatile unsigned int*)(P_USBHost_Base+0x05)
#define P_USBH_TXCount (volatile unsigned int*)(P_USBHost_Base+0x06)
#define P_USBH_RXCount (volatile unsigned int*)(P_USBHost_Base+0x07)
#define P_USBH_FIFOInPointer (volatile unsigned int*)(P_USBHost_Base+0x08)
#define P_USBH_FIFOOutPointer (volatile unsigned int*)(P_USBHost_Base+0x09)
#define P_USBH_AutoInByteCount (volatile unsigned int*)(P_USBHost_Base+0x0A)
#define P_USBH_AutoOutByteCount (volatile unsigned int*)(P_USBHost_Base+0x0B)
#define P_USBH_AutoTrans (volatile unsigned int*)(P_USBHost_Base+0x0C)
#define P_USBH_Status (volatile unsigned int*)(P_USBHost_Base+0x0D)
#define P_USBH_INT (volatile unsigned int*)(P_USBHost_Base+0x0E)
#define P_USBH_INTEN (volatile unsigned int*)(P_USBHost_Base+0x0F)
#define P_USBH_StorageRST (volatile unsigned int*)(P_USBHost_Base+0x10)
#define P_USBH_SoftRST (volatile unsigned int*)(P_USBHost_Base+0x11)
#define P_USBH_SOFTimer (volatile unsigned int*)(P_USBHost_Base+0x12)
#define P_USBH_FrameNum (volatile unsigned int*)(P_USBHost_Base+0x13)
#define P_USBH_OTGConfig (volatile unsigned int*)(P_USBHost_Base+0x14)
#define P_USBH_VBusSet (volatile unsigned int*)(P_USBHost_Base+0x15)
#define P_USBH_VBusStatus (volatile unsigned int*)(P_USBHost_Base+0x16)
#define P_USBH_INAckCount (volatile unsigned int*)(P_USBHost_Base+0x17)
#define P_USBH_OutAckCount (volatile unsigned int*)(P_USBHost_Base+0x18)
#define P_USBH_RSTAckCount (volatile unsigned int*)(P_USBHost_Base+0x19)
#define P_USBH_Storage1 (volatile unsigned int*)(P_USBHost_Base+0x1A)
#define P_USBH_DReadBack (volatile unsigned int*)(P_USBHost_Base+0x1B)
/*****************************************************************************/
/* Register structure declaration */
/*****************************************************************************/
/*****************************************************************************/
/* System control registers */
/*****************************************************************************/
typedef union // BodyID register definition
{
UInt16 W;
struct
{
UInt16 BodyID : 16;
} B;
} P_BodyID_DEF;
typedef union // CLK_Ctrl0 register definition
{
UInt16 W;
struct
{
UInt16 System_Bus : 1;
UInt16 Memory : 1;
UInt16 GPIO : 1;
UInt16 Interrupt : 1;
UInt16 Time_Base : 1;
UInt16 Timer_ABCD : 1;
UInt16 DAC : 1;
UInt16 Uart : 1;
UInt16 RTC : 1;
UInt16 SPI : 1;
UInt16 Analog : 1;
UInt16 LCD : 1;
UInt16 Sensor : 1;
UInt16 SP_Bus : 1;
UInt16 Timer_EF : 1;
UInt16 SD_MMC : 1;
} B;
} P_CLK_Ctrl0_DEF;
typedef union // CLK_Ctrl1 register definition
{
UInt16 W;
struct
{
UInt16 Reserve1 : 1;
UInt16 USB_Host : 1;
UInt16 USB_Device : 1;
UInt16 IIC : 1;
UInt16 DMA : 1;
UInt16 EPP : 1;
UInt16 NF_Boot : 1;
UInt16 SRAM0 : 1;
UInt16 IIS_DAC : 1;
UInt16 Key_Scan : 1;
UInt16 Reserve2 : 4;
UInt16 System_Control : 2;
} B;
} P_CLK_Ctrl1_DEF;
typedef union // Reset_Flag register definition
{
UInt16 W;
struct
{
UInt16 LVR : 1;
UInt16 Reserve1 : 1;
UInt16 MPE : 1;
UInt16 WDE : 1;
UInt16 WDG : 1;
UInt16 Reserve2 :11;
} B;
} P_Reset_Flag_DEF;
typedef union // Clock_Ctrl register definition
{
UInt16 W;
struct
{
UInt16 CLKDIV : 3;
UInt16 Reserve1 : 6;
UInt16 KCEN : 1;
UInt16 C32KOFF : 1;
UInt16 Reserve2 : 1;
UInt16 WEAK : 1;
UInt16 Reserve3 : 1;
UInt16 C32K : 1;
UInt16 FAST : 1;
} B;
} P_Clock_Ctrl_DEF;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -