📄 gpio_def.h
字号:
//GPio管脚复用功能
//MCRx复位初始化为0,通用IO方式;赋值为1时,组态为特殊功能。
//配置为特殊功能使用语句*MCRA = *MCRA|MCRA_SCITXD|MCRA_SCIRXD
//---------------------------------------------------
#define MCRA_SCITXD 0x0001
#define MCRA_SCIRXD 0x0002
#define MCRA_XINT1 0x0004
#define MCRA_CAP1_QEP1 0x0008
#define MCRA_CAP2_QEP2 0x0010
#define MCRA_CAP3 0x0020
#define MCRA_PWM1 0x0040
#define MCRA_PWM2 0x0080
#define MCRA_PWM3 0x0100
#define MCRA_PWM4 0x0200
#define MCRA_PWM5 0x0400
#define MCRA_PWM6 0x0800
#define MCRA_T1PWM_T1CMP 0x1000
#define MCRA_T2PWM_T2CMP 0x2000
#define MCRA_TDIRA 0x4000
#define MCRA_TCLKINA 0x8000
//---------------------------------------------------
#define MCRB_W_R 0x0001
#define MCRB_BIO 0x0002
#define MCRB_SPISIMO 0x0004
#define MCRB_SPISOMI 0x0008
#define MCRB_SPICLK 0x0010
#define MCRB_SPISTE 0x0020
#define MCRB_CANTX 0x0040
#define MCRB_CANRX 0x0080
#define MCRB_XINT2_ADCSOC 0x0100
//---------------------------------------------------
#define MCRC_CLKOUT 0x0001
#define MCRC_PWM7 0x0002
#define MCRC_PWM8 0x0004
#define MCRC_PWM9 0x0008
#define MCRC_PWM10 0x0010
#define MCRC_PWM11 0x0020
#define MCRC_PWM12 0x0040
#define MCRC_CAP4_QEP3 0x0080
#define MCRC_CAP5_QEP4 0x0100
#define MCRC_CAP6 0x0200
#define MCRC_T3PWM_T3CMP 0x0400
#define MCRC_T4PWM_T4CMP 0x0800
#define MCRC_TDIRB 0x1000
#define MCRC_TCLKINB 0x2000
//---------------------------------------------------
//当MCRx配置为通用IO方式时,PxDATDIR配置其方向和赋值
//PxDATDIR高八位初始化为0,配置为输入方向;初始化值低八位由复位时的值定
//当用做开关量控制时,可重新定义名称增强可读性
//方向定义 格式*PADATDIR |= PADATDIR_IOPA7_OUT
//---------------------------------------------------
// PADATDIR
//---------------------------------------------------
#define PADATDIR_IOPA7_OUT 0x8000
#define PADATDIR_IOPA6_OUT 0x4000
#define PADATDIR_IOPA5_OUT 0x2000
#define PADATDIR_IOPA4_OUT 0x1000
#define PADATDIR_IOPA3_OUT 0x0800
#define PADATDIR_IOPA2_OUT 0x0400
#define PADATDIR_IOPA1_OUT 0x0200
#define PADATDIR_IOPA0_OUT 0x0100
#define PADATDIR_IOPA7_IN 0x7FFF
#define PADATDIR_IOPA6_IN 0xBFFF
#define PADATDIR_IOPA5_IN 0xDFFF
#define PADATDIR_IOPA4_IN 0xEFFF
#define PADATDIR_IOPA3_IN 0xF7FF
#define PADATDIR_IOPA2_IN 0xFBFF
#define PADATDIR_IOPA1_IN 0xFDFF
#define PADATDIR_IOPA0_IN 0xFEFF
#define IOPA7_1 0x0080
#define IOPA6_1 0x0040
#define IOPA5_1 0x0020
#define IOPA4_1 0x0010
#define IOPA3_1 0x0008
#define IOPA2_1 0x0004
#define IOPA1_1 0x0002
#define IOPA0_1 0x0001
#define IOPA7_0 0xFF7F
#define IOPA6_0 0xFFBF
#define IOPA5_0 0xFFDF
#define IOPA4_0 0xFFEF
#define IOPA3_0 0xFFF7
#define IOPA2_0 0xFFFB
#define IOPA1_0 0xFFFD
#define IOPA0_0 0xFFFE
//---------------------------------------------------
// PBDATDIR
//---------------------------------------------------
#define PBDATDIR_IOPB7_OUT 0x8000
#define PBDATDIR_IOPB6_OUT 0x4000
#define PBDATDIR_IOPB5_OUT 0x2000
#define PBDATDIR_IOPB4_OUT 0x1000
#define PBDATDIR_IOPB3_OUT 0x0800
#define PBDATDIR_IOPB2_OUT 0x0400
#define PBDATDIR_IOPB1_OUT 0x0200
#define PBDATDIR_IOPB0_OUT 0x0100
#define PBDATDIR_IOPB7_IN 0x7FFF
#define PBDATDIR_IOPB6_IN 0xBFFF
#define PBDATDIR_IOPB5_IN 0xDFFF
#define PBDATDIR_IOPB4_IN 0xEFFF
#define PBDATDIR_IOPB3_IN 0xF7FF
#define PBDATDIR_IOPB2_IN 0xFBFF
#define PBDATDIR_IOPB1_IN 0xFDFF
#define PBDATDIR_IOPB0_IN 0xFEFF
#define IOPB7_1 0x0080
#define IOPB6_1 0x0040
#define IOPB5_1 0x0020
#define IOPB4_1 0x0010
#define IOPB3_1 0x0008
#define IOPB2_1 0x0004
#define IOPB1_1 0x0002
#define IOPB0_1 0x0001
#define IOPB7_0 0xFF7F
#define IOPB6_0 0xFFBF
#define IOPB5_0 0xFFDF
#define IOPB4_0 0xFFEF
#define IOPB3_0 0xFFF7
#define IOPB2_0 0xFFFB
#define IOPB1_0 0xFFFD
#define IOPB0_0 0xFFFE
//---------------------------------------------------
// PCDATDIR
//---------------------------------------------------
#define PCDATDIR_IOPC7_OUT 0x8000
#define PCDATDIR_IOPC6_OUT 0x4000
#define PCDATDIR_IOPC5_OUT 0x2000
#define PCDATDIR_IOPC4_OUT 0x1000
#define PCDATDIR_IOPC3_OUT 0x0800
#define PCDATDIR_IOPC2_OUT 0x0400
#define PCDATDIR_IOPC1_OUT 0x0200
#define PCDATDIR_IOPC0_OUT 0x0100
#define PCDATDIR_IOPC7_IN 0x7FFF
#define PCDATDIR_IOPC6_IN 0xBFFF
#define PCDATDIR_IOPC5_IN 0xDFFF
#define PCDATDIR_IOPC4_IN 0xEFFF
#define PCDATDIR_IOPC3_IN 0xF7FF
#define PCDATDIR_IOPC2_IN 0xFBFF
#define PCDATDIR_IOPC1_IN 0xFDFF
#define PCDATDIR_IOPC0_IN 0xFEFF
#define IOPC7_1 0x0080
#define IOPC6_1 0x0040
#define IOPC5_1 0x0020
#define IOPC4_1 0x0010
#define IOPC3_1 0x0008
#define IOPC2_1 0x0004
#define IOPC1_1 0x0002
#define IOPC0_1 0x0001
#define IOPC7_0 0xFF7F
#define IOPC6_0 0xFFBF
#define IOPC5_0 0xFFDF
#define IOPC4_0 0xFFEF
#define IOPC3_0 0xFFF7
#define IOPC2_0 0xFFFB
#define IOPC1_0 0xFFFD
#define IOPC0_0 0xFFFE
//--------------------------------------------------
// PDDATDIR
//---------------------------------------------------
#define PDDATDIR_IOPD0_OUT 0x0100
#define IOPD0_1 0x0001
#define IOPD0_0 0xFFFE
//---------------------------------------------------
// PEDATDIR
//---------------------------------------------------
#define PEDATDIR_IOPE7_OUT 0x8000
#define PEDATDIR_IOPE6_OUT 0x4000
#define PEDATDIR_IOPE5_OUT 0x2000
#define PEDATDIR_IOPE4_OUT 0x1000
#define PEDATDIR_IOPE3_OUT 0x0800
#define PEDATDIR_IOPE2_OUT 0x0400
#define PEDATDIR_IOPE1_OUT 0x0200
#define PEDATDIR_IOPE0_OUT 0x0100
#define PEDATDIR_IOPE7_IN 0x7FFF
#define PEDATDIR_IOPE6_IN 0xBFFF
#define PEDATDIR_IOPE5_IN 0xDFFF
#define PEDATDIR_IOPE4_IN 0xEFFF
#define PEDATDIR_IOPE3_IN 0xF7FF
#define PEDATDIR_IOPE2_IN 0xFBFF
#define PEDATDIR_IOPE1_IN 0xFDFF
#define PEDATDIR_IOPE0_IN 0xFEFF
#define IOPE7_1 0x0080
#define IOPE6_1 0x0040
#define IOPE5_1 0x0020
#define IOPE4_1 0x0010
#define IOPE3_1 0x0008
#define IOPE2_1 0x0004
#define IOPE1_1 0x0002
#define IOPE0_1 0x0001
#define IOPE7_0 0xFF7F
#define IOPE6_0 0xFFBF
#define IOPE5_0 0xFFDF
#define IOPE4_0 0xFFEF
#define IOPE3_0 0xFFF7
#define IOPE2_0 0xFFFB
#define IOPE1_0 0xFFFD
#define IOPE0_0 0xFFFE
//---------------------------------------------------
// PFDATDIR
//---------------------------------------------------
#define PFDATDIR_IOPF6_OUT 0x4000
#define PFDATDIR_IOPF5_OUT 0x2000
#define PFDATDIR_IOPF4_OUT 0x1000
#define PFDATDIR_IOPF3_OUT 0x0800
#define PFDATDIR_IOPF2_OUT 0x0400
#define PFDATDIR_IOPF1_OUT 0x0200
#define PFDATDIR_IOPF0_OUT 0x0100
//&运算
#define PFDATDIR_IOPF6_IN 0xBFFF
#define PFDATDIR_IOPF5_IN 0xDFFF
#define PFDATDIR_IOPF4_IN 0xEFFF
#define PFDATDIR_IOPF3_IN 0xF7FF
#define PFDATDIR_IOPF2_IN 0xFBFF
#define PFDATDIR_IOPF1_IN 0xFDFF
#define PFDATDIR_IOPF0_IN 0xFEFF
#define IOPF6_1 0x0040
#define IOPF5_1 0x0020
#define IOPF4_1 0x0010
#define IOPF3_1 0x0008
#define IOPF2_1 0x0004
#define IOPF1_1 0x0002
#define IOPF0_1 0x0001
#define IOPF6_0 0xFFBF
#define IOPF5_0 0xFFDF
#define IOPF4_0 0xFFEF
#define IOPF3_0 0xFFF7
#define IOPF2_0 0xFFFB
#define IOPF1_0 0xFFFD
#define IOPF0_0 0xFFFE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -