📄 gpio.h
字号:
//
// General Purpose I/O Register Definitions
//
#ifndef __GPIO_H
#define __GPIO_H
//
// For use with GPIO registers GPLR_x, GPSR_x, GPCR_x, GPDR_x, GRER_x, GFER_x, GEDR_x
//
#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 GPLR_y, GPSR_y, GPCR_y, GPDR_y, GRER_y, GFER_y, GEDR_y
//
#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 GPLR_z, GPSR_z, GPCR_z, GPDR_z, GRER_z, GFER_z, GEDR_z
//
#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
#define GPIO_81 0x00020000
#define GPIO_82 0x00040000
#define GPIO_83 0x00080000
#define GPIO_84 0x00100000
//
// 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 GAFR1_z
//
#define GPIO_80_AF1 0x00000001
#define GPIO_81_AF1_SCLK 0x00000004
#define GPIO_82_AF1_SFRM 0x00000010
#define GPIO_83_AF1_TXD 0x00000040
#define GPIO_84_AF1_TXD 0x00000100
//
// 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
#define GPIO_81_AF2 0x00000008
#define GPIO_82_AF2 0x00000020
#define GPIO_83_AF2_RXD 0x00000080
#define GPIO_84_AF2_RXD 0x00000200
//
// 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
#define GPIO_81_AF3 0x0000000C
#define GPIO_82_AF3 0x00000030
#define GPIO_83_AF3 0x000000C0
#define GPIO_84_AF3 0x00000300
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -