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

📄 gpio.h

📁 在ADS环境下LCD 测试例子
💻 H
字号:
//
// for LCD test(ads version) project 2005/09/22 liuzy 
//

//
// General Purpose I/O Register Definitions
//

#ifndef __GPIO_H
#define __GPIO_H

//
// GPIO Register Definitions
//
// Monitor pin State
#define GPLR1					(*(volatile int *)0x40E00004)		// GPIO pin level register GPIO[63:32]
#define GPLR2					(*(volatile int *) 0x40E00008	)	// GPIO pin level register GPIO[80:64]

// Control Output pin State
#define GPSR1					(*(volatile int *) 0x40E0001C)		// GPIO pin output set register GPIO[63:32]
#define GPSR2					(*(volatile int *) 0x40E00020	)	// GPIO pin output set register GPIO[80:64]
#define GPCR1					(*(volatile int *) 0x40E00028	)	// GPIO pin output clear register GPIO[63:32]
#define GPCR2					(*(volatile int *) 0x40E0002C	)	// GPIO pin output clear register GPIO[80:64]

// Set Pin Direction
#define GPDR1					(*(volatile int *)0x40E00010)		// GPIO pin direction register GPIO[63:32]
#define GPDR2					(*(volatile int *) 0x40E00014	)	// GPIO pin direction register GPIO[80:64]

// Set Alternate Functions
#define GAFR1_U				(*(volatile int *) 0x40E00060	)	// GPIO alternate function select register GPIO[63:48]
#define GAFR2_L				(*(volatile int *) 0x40E00064	)	// GPIO alternate function select register GPIO[79:64]

//
// For use with GPIO registers GPLR0, GPSR0, GPCR0, GPDR0, GRER0, GFER0, GEDR0
//
#define GPIO_0		0x00000001
#define GPIO_1		0x00000002
#define GPIO_2		0x00000004
#define GPIO_3		0x00000008
#define GPIO_4		0x00000010
#define GPIO_5		0x00000020
#define GPIO_6		0x00000040
#define GPIO_7		0x00000080
#define GPIO_8		0x00000100
#define GPIO_9		0x00000200
#define GPIO_10		0x00000400
#define GPIO_11		0x00000800
#define GPIO_12		0x00001000
#define GPIO_13		0x00002000
#define GPIO_14		0x00004000
#define GPIO_15		0x00008000
#define GPIO_16		0x00010000
#define GPIO_17		0x00020000
#define GPIO_18		0x00040000
#define GPIO_19		0x00080000
#define GPIO_20		0x00100000
#define GPIO_21		0x00200000
#define GPIO_22		0x00400000
#define GPIO_23		0x00800000
#define GPIO_24		0x01000000
#define GPIO_25		0x02000000
#define GPIO_26		0x04000000
#define GPIO_27		0x08000000
#define GPIO_28		0x10000000
#define GPIO_29		0x20000000
#define GPIO_30		0x40000000
#define GPIO_31		0x80000000

//
// For use with GPIO registers GPLR1, GPSR1, GPCR1, GPDR1, GRER1, GFER1, GEDR1
//
#define GPIO_32		0x00000001
#define GPIO_33		0x00000002
#define GPIO_34		0x00000004
#define GPIO_35		0x00000008
#define GPIO_36		0x00000010
#define GPIO_37		0x00000020
#define GPIO_38		0x00000040
#define GPIO_39		0x00000080
#define GPIO_40		0x00000100
#define GPIO_41		0x00000200
#define GPIO_42		0x00000400
#define GPIO_43		0x00000800
#define GPIO_44		0x00001000
#define GPIO_45		0x00002000
#define GPIO_46		0x00004000
#define GPIO_47		0x00008000
#define GPIO_48		0x00010000
#define GPIO_49		0x00020000
#define GPIO_50		0x00040000
#define GPIO_51		0x00080000
#define GPIO_52		0x00100000
#define GPIO_53		0x00200000
#define GPIO_54		0x00400000
#define GPIO_55		0x00800000
#define GPIO_56		0x01000000
#define GPIO_57		0x02000000
#define GPIO_58		0x04000000
#define GPIO_59		0x08000000
#define GPIO_60		0x10000000
#define GPIO_61		0x20000000
#define GPIO_62		0x40000000
#define GPIO_63		0x80000000

//
// For use with GPIO registers GPLR2, GPSR2, GPCR2, GPDR2, GRER2, GFER2, GEDR2
//
#define GPIO_64		0x00000001
#define GPIO_65		0x00000002
#define GPIO_66		0x00000004
#define GPIO_67		0x00000008
#define GPIO_68		0x00000010
#define GPIO_69		0x00000020
#define GPIO_70		0x00000040
#define GPIO_71		0x00000080
#define GPIO_72		0x00000100
#define GPIO_73		0x00000200
#define GPIO_74		0x00000400
#define GPIO_75		0x00000800
#define GPIO_76		0x00001000
#define GPIO_77		0x00002000
#define GPIO_78		0x00004000
#define GPIO_79		0x00008000
#define GPIO_80		0x00010000

//
// For use with GPIO register GAFR0_x
//
#define GPIO_0_AF1				0x00000001
#define GPIO_1_AF1_GP_RST		0x00000004
#define GPIO_2_AF1_ADC0			0x00000010
#define GPIO_3_AF1_ADC1			0x00000040
#define GPIO_4_AF1_ADC2			0x00000100
#define GPIO_5_AF1_ADC3			0x00000400
#define GPIO_6_AF1_MMCCLK		0x00001000
#define GPIO_7_AF1_48MHzClock	0x00004000
#define GPIO_8_AF1_MMCCS0		0x00010000
#define GPIO_9_AF1_MMCCS1		0x00040000
#define GPIO_10_AF1_RTCCLK		0x00100000
#define GPIO_11_AF1_3P6MHz		0x00400000
#define GPIO_12_AF1_32KHz		0x01000000
#define GPIO_13_AF1				0x04000000
#define GPIO_14_AF1_MBREQ		0x10000000
#define GPIO_15_AF1				0x40000000

//
// For use with GPIO register GAFR1_x
//
#define GPIO_16_AF1				0x00000001
#define GPIO_17_AF1				0x00000004
#define GPIO_18_AF1_RDY			0x00000010
#define GPIO_19_AF1_DREQ1		0x00000040
#define GPIO_20_AF1_DREQ0		0x00000100
#define GPIO_21_AF1				0x00000400
#define GPIO_22_AF1				0x00001000
#define GPIO_23_AF1				0x00004000
#define GPIO_24_AF1				0x00010000
#define GPIO_25_AF1				0x00040000
#define GPIO_26_AF1_RXD			0x00100000
#define GPIO_27_AF1_EXTCLK		0x00400000
#define GPIO_28_AF1_BITCLK		0x01000000
#define GPIO_29_AF1_SDATA_IN0	0x04000000
#define GPIO_30_AF1_SDATA_OUT	0x10000000
#define GPIO_31_AF1_SYNC		0x40000000

//
// For use with GPIO register GAFR0_y
//
#define GPIO_32_AF1_SDATA_IN1	0x00000001
#define GPIO_32_AF1_SYSCLK		0x00000001
#define GPIO_33_AF1				0x00000004
#define GPIO_34_AF1_FFRXD		0x00000010
#define GPIO_35_AF1_CTS			0x00000040
#define GPIO_36_AF1_DCD			0x00000100
#define GPIO_37_AF1_DSR			0x00000400
#define GPIO_38_AF1_RI			0x00001000
#define GPIO_39_AF1_ADC5		0x00004000
#define GPIO_39_AF1_MMCCS1		0x00004000
#define GPIO_40_AF1				0x00010000
#define GPIO_41_AF1				0x00040000
#define GPIO_42_AF1_BTRXD		0x00100000
#define GPIO_43_AF1_ADC6		0x00400000
#define GPIO_44_AF1_CTS			0x01000000
#define GPIO_45_AF1				0x04000000
#define GPIO_46_AF1_ICP_RXD		0x10000000
#define GPIO_47_AF1_TXD			0x40000000

//
// For use with GPIO register GAFR1_y
//
#define GPIO_48_AF1				0x00000001
#define GPIO_49_AF1				0x00000004
#define GPIO_50_AF1				0x00000010
#define GPIO_51_AF1				0x00000040
#define GPIO_52_AF1				0x00000100
#define GPIO_53_AF1_MMCCLK		0x00000400
#define GPIO_54_AF1_MMCCLK		0x00001000
#define GPIO_55_AF1				0x00004000
#define GPIO_56_AF1_nPWAIT		0x00010000
#define GPIO_57_AF1_nIOIS16		0x00040000
#define GPIO_58_AF1				0x00100000
#define GPIO_59_AF1				0x00400000
#define GPIO_60_AF1				0x01000000
#define GPIO_61_AF1				0x04000000
#define GPIO_62_AF1				0x10000000
#define GPIO_63_AF1				0x40000000

//
// For use with GPIO register GAFR0_z
//
#define GPIO_64_AF1				0x00000001
#define GPIO_65_AF1				0x00000004
#define GPIO_66_AF1_MBREQ		0x00000010
#define GPIO_67_AF1_MMCCS0		0x00000040
#define GPIO_68_AF1_MMCCS1		0x00000100
#define GPIO_69_AF1_MMCCLK		0x00000400
#define GPIO_70_AF1_RTCCLK		0x00001000
#define GPIO_71_AF1_3P6MHz		0x00004000
#define GPIO_72_AF1_32KHz		0x00010000
#define GPIO_73_AF1_ADC7		0x00040000
#define GPIO_73_AF1_MBGNT		0x00040000
#define GPIO_74_AF1				0x00100000
#define GPIO_75_AF1				0x00400000
#define GPIO_76_AF1				0x01000000
#define GPIO_77_AF1				0x04000000
#define GPIO_78_AF1				0x10000000
#define GPIO_79_AF1				0x40000000

//
// For use with GPIO register GAFR0_x
//
#define GPIO_0_AF2				0x00000002
#define GPIO_1_AF2				0x00000008
#define GPIO_2_AF2				0x00000020
#define GPIO_3_AF2				0x00000080
#define GPIO_4_AF2				0x00000200
#define GPIO_5_AF2				0x00000800
#define GPIO_6_AF2				0x00002000
#define GPIO_7_AF2				0x00008000
#define GPIO_8_AF2				0x00020000
#define GPIO_9_AF2				0x00080000
#define GPIO_10_AF2				0x00200000
#define GPIO_11_AF2				0x00800000
#define GPIO_12_AF2				0x02000000
#define GPIO_13_AF2_MBGNT		0x08000000
#define GPIO_14_AF2				0x20000000
#define GPIO_15_AF2_nCS_1		0x80000000

//
// For use with GPIO register GAFR1_x
//
#define GPIO_16_AF2_PWM0		0x00000002
#define GPIO_17_AF2_PWM1		0x00000008
#define GPIO_18_AF2				0x00000020
#define GPIO_19_AF2				0x00000080
#define GPIO_20_AF2				0x00000200
#define GPIO_21_AF2_DVAL0		0x00000800
#define GPIO_22_AF2_DVAL1		0x00002000
#define GPIO_23_AF2_SCLK		0x00008000
#define GPIO_24_AF2_SFRM		0x00020000
#define GPIO_25_AF2_TXD			0x00080000
#define GPIO_26_AF2				0x00200000
#define GPIO_27_AF2				0x00800000
#define GPIO_28_AF2_BITCLK		0x02000000
#define GPIO_29_AF2_SDATA_IN	0x08000000
#define GPIO_30_AF2_SDATA_OUT	0x20000000
#define GPIO_31_AF2_SYNC		0x80000000

//
// For use with GPIO register GAFR0_y
//
#define GPIO_32_AF2				0x00000002
#define GPIO_33_AF2_nCS5		0x00000008
#define GPIO_34_AF2_ADC4		0x00000020
#define GPIO_34_AF2_MMCCS0		0x00000020
#define GPIO_35_AF2				0x00000080
#define GPIO_36_AF2				0x00000200
#define GPIO_37_AF2				0x00000800
#define GPIO_38_AF2				0x00002000
#define GPIO_39_AF2_FFTXD		0x00008000
#define GPIO_40_AF2_DTR			0x00020000
#define GPIO_41_AF2_RTS			0x00080000
#define GPIO_42_AF2				0x00200000
#define GPIO_43_AF2_BTTXD		0x00800000
#define GPIO_44_AF2				0x02000000
#define GPIO_45_AF2_RTS			0x08000000
#define GPIO_46_AF2_RXD			0x20000000
#define GPIO_47_AF2_ICP_TXD		0x80000000

//
// For use with GPIO register GAFR1_y
//
#define GPIO_48_AF2_nPOE		0x00000002
#define GPIO_49_AF2_nPWE		0x00000008
#define GPIO_50_AF2_nPIOR		0x00000020
#define GPIO_51_AF2_nPIOW		0x00000080
#define GPIO_52_AF2_nPCE1		0x00000200
#define GPIO_53_AF2_nPCE2		0x00000800
#define GPIO_54_AF2_pSKTSEL		0x00002000
#define GPIO_55_AF2_nPREG		0x00008000
#define GPIO_56_AF2				0x00020000
#define GPIO_57_AF2				0x00080000
#define GPIO_58_AF2_LDD0		0x00200000
#define GPIO_59_AF2_LDD1		0x00800000
#define GPIO_60_AF2_LDD2		0x02000000
#define GPIO_61_AF2_LDD3		0x08000000
#define GPIO_62_AF2_LDD4		0x20000000
#define GPIO_63_AF2_LDD5		0x80000000

//
// For use with GPIO register GAFR0_z
//
#define GPIO_64_AF2_LDD6		0x00000002
#define GPIO_65_AF2_LDD7		0x00000008
#define GPIO_66_AF2_LDD8		0x00000020
#define GPIO_67_AF2_LDD9		0x00000080
#define GPIO_68_AF2_LDD10		0x00000200
#define GPIO_69_AF2_LDD11		0x00000800
#define GPIO_70_AF2_LDD12		0x00002000
#define GPIO_71_AF2_LDD13		0x00008000
#define GPIO_72_AF2_LDD14		0x00020000
#define GPIO_73_AF2_LDD15		0x00080000
#define GPIO_74_AF2_LCD_FCLK	0x00200000
#define GPIO_75_AF2_LCD_LCLK	0x00800000
#define GPIO_76_AF2_LCD_PCLK	0x02000000
#define GPIO_77_AF2_LCD_ACBIAS	0x08000000
#define GPIO_78_AF2_nCS2		0x20000000
#define GPIO_79_AF2_nCS3		0x80000000

//
// For use with GPIO register GAFR1_z
//
#define GPIO_80_AF2_nCS4		0x00000002

//
// For use with GPIO register GAFR0_x
//
#define GPIO_0_AF3	0x00000003
#define GPIO_1_AF3	0x0000000C
#define GPIO_2_AF3	0x00000030
#define GPIO_3_AF3	0x000000C0
#define GPIO_4_AF3	0x00000300
#define GPIO_5_AF3	0x00000C00
#define GPIO_6_AF3	0x00003000
#define GPIO_7_AF3	0x0000C000
#define GPIO_8_AF3	0x00030000
#define GPIO_9_AF3	0x000C0000
#define GPIO_10_AF3	0x00300000
#define GPIO_11_AF3	0x00C00000
#define GPIO_12_AF3	0x03000000
#define GPIO_13_AF3	0x0C000000
#define GPIO_14_AF3	0x30000000
#define GPIO_15_AF3	0xC0000000

//
// For use with GPIO register GAFR1_x
//
#define GPIO_16_AF3	0x00000003
#define GPIO_17_AF3	0x0000000C
#define GPIO_18_AF3	0x00000030
#define GPIO_19_AF3	0x000000C0
#define GPIO_20_AF3	0x00000300
#define GPIO_21_AF3	0x00000C00
#define GPIO_22_AF3	0x00003000
#define GPIO_23_AF3	0x0000C000
#define GPIO_24_AF3	0x00030000
#define GPIO_25_AF3	0x000C0000
#define GPIO_26_AF3	0x00300000
#define GPIO_27_AF3	0x00C00000
#define GPIO_28_AF3	0x03000000
#define GPIO_29_AF3	0x0C000000
#define GPIO_30_AF3	0x30000000
#define GPIO_31_AF3	0xC0000000

//
// For use with GPIO register GAFR0_y
//
#define GPIO_32_AF3	0x00000003
#define GPIO_33_AF3	0x0000000C
#define GPIO_34_AF3	0x00000030
#define GPIO_35_AF3	0x000000C0
#define GPIO_36_AF3	0x00000300
#define GPIO_37_AF3	0x00000C00
#define GPIO_38_AF3	0x00003000
#define GPIO_39_AF3	0x0000C000
#define GPIO_40_AF3	0x00030000
#define GPIO_41_AF3	0x000C0000
#define GPIO_42_AF3	0x00300000
#define GPIO_43_AF3	0x00C00000
#define GPIO_44_AF3	0x03000000
#define GPIO_45_AF3	0x0C000000
#define GPIO_46_AF3	0x30000000
#define GPIO_47_AF3	0xC0000000

//
// For use with GPIO register GAFR1_y
//
#define GPIO_48_AF3 0x00000003
#define GPIO_49_AF3 0x0000000C
#define GPIO_50_AF3	0x00000030
#define GPIO_51_AF3	0x000000C0
#define GPIO_52_AF3	0x00000300
#define GPIO_53_AF3	0x00000C00
#define GPIO_54_AF3	0x00003000
#define GPIO_55_AF3	0x0000C000
#define GPIO_56_AF3	0x00030000
#define GPIO_57_AF3	0x000C0000
#define GPIO_58_AF3	0x00300000
#define GPIO_59_AF3	0x00C00000
#define GPIO_60_AF3	0x03000000
#define GPIO_61_AF3	0x0C000000
#define GPIO_62_AF3	0x30000000
#define GPIO_63_AF3	0xC0000000

//
// For use with GPIO register GAFR0_z
//
#define GPIO_64_AF3	0x00000003
#define GPIO_65_AF3	0x0000000C
#define GPIO_66_AF3	0x00000030
#define GPIO_67_AF3	0x000000C0
#define GPIO_68_AF3	0x00000300
#define GPIO_69_AF3	0x00000C00
#define GPIO_70_AF3	0x00003000
#define GPIO_71_AF3	0x0000C000
#define GPIO_72_AF3	0x00030000
#define GPIO_73_AF3	0x000C0000
#define GPIO_74_AF3	0x00300000
#define GPIO_75_AF3	0x00C00000
#define GPIO_76_AF3	0x03000000
#define GPIO_77_AF3	0x0C000000
#define GPIO_78_AF3	0x30000000
#define GPIO_79_AF3	0xC0000000

//
// For use with GPIO register GAFR1_z
//
#define GPIO_80_AF3	0x00000003

#endif









/*

typedef struct {
	unsigned int GPLR_x;	// 0x40E00000 Pin Level Registers
	unsigned int GPLR_y;	// 0x40E00004
	unsigned int GPLR_z;	// 0x40E00008

	unsigned int GPDR_x;	// 0x40E0000C Pin Direction Registers
	unsigned int GPDR_y;	// 0x40E00010
	unsigned int GPDR_z;	// 0x40E00014

	unsigned int GPSR_x;	// 0x40E00018 Pin Output Set Registers
	unsigned int GPSR_y;	// 0x40E0001C
	unsigned int GPSR_z;	// 0x40E00020

	unsigned int GPCR_x;	// 0x40E00024 Pin Output Clear Registers
	unsigned int GPCR_y;	// 0x40E00028
	unsigned int GPCR_z;	// 0x40E0002C

	unsigned int GRER_x;	// 0x40E00030 Rising Edge Detect Enable Registers
	unsigned int GRER_y;	// 0x40E00034
	unsigned int GRER_z;	// 0x40E00038

	unsigned int GFER_x;	// 0x40E0003C Falling Edge Detect Enable Registers
	unsigned int GFER_y;	// 0x40E00040
	unsigned int GFER_z;	// 0x40E00044

	unsigned int GEDR_x;	// 0x40E00048 Edge Detect Status Registers
	unsigned int GEDR_y;	// 0x40E0004C
	unsigned int GEDR_z;	// 0x40E00050

	unsigned int GAFR0_x;	// 0x40E00054 Alternate Function Registers
	unsigned int GAFR1_x;	// 0x40E00058
	unsigned int GAFR0_y;	// 0x40E0005C
	unsigned int GAFR1_y;	// 0x40E00060
	unsigned int GAFR0_z;	// 0x40E00064
	unsigned int GAFR1_z;	// 0x40E00068

} GPIO_REGS, *PGPIO_REGS;

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -