⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spl162001.h

📁 GPL162001的UART模組demo程式
💻 H
📖 第 1 页 / 共 4 页
字号:



////////////////////////////////////////
//  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 + -