📄 io_map.h
字号:
/*** APCTL1 - Pin Control 1 Register; 0x00000017 ***/
typedef union {
byte Byte;
struct {
byte ADPC0 :1; /* ADC Pin Control 0 - ADPC0 is used to control the pin associated with channel AD0 */
byte ADPC1 :1; /* ADC Pin Control 1 - ADPC1 is used to control the pin associated with channel AD1 */
byte ADPC2 :1; /* ADC Pin Control 2 - ADPC2 is used to control the pin associated with channel AD2 */
byte ADPC3 :1; /* ADC Pin Control 3 - ADPC3 is used to control the pin associated with channel AD3 */
byte ADPC4 :1; /* ADC Pin Control 4 - ADPC4 is used to control the pin associated with channel AD4 */
byte ADPC5 :1; /* ADC Pin Control 5 - ADPC5 is used to control the pin associated with channel AD5 */
byte ADPC6 :1; /* ADC Pin Control 6 - ADPC6 is used to control the pin associated with channel AD6 */
byte ADPC7 :1; /* ADC Pin Control 7 - ADPC7 is used to control the pin associated with channel AD7 */
} Bits;
} APCTL1STR;
extern volatile APCTL1STR _APCTL1 @0x00000017;
#define APCTL1 _APCTL1.Byte
#define APCTL1_ADPC0 _APCTL1.Bits.ADPC0
#define APCTL1_ADPC1 _APCTL1.Bits.ADPC1
#define APCTL1_ADPC2 _APCTL1.Bits.ADPC2
#define APCTL1_ADPC3 _APCTL1.Bits.ADPC3
#define APCTL1_ADPC4 _APCTL1.Bits.ADPC4
#define APCTL1_ADPC5 _APCTL1.Bits.ADPC5
#define APCTL1_ADPC6 _APCTL1.Bits.ADPC6
#define APCTL1_ADPC7 _APCTL1.Bits.ADPC7
#define APCTL1_ADPC0_MASK 0x01
#define APCTL1_ADPC1_MASK 0x02
#define APCTL1_ADPC2_MASK 0x04
#define APCTL1_ADPC3_MASK 0x08
#define APCTL1_ADPC4_MASK 0x10
#define APCTL1_ADPC5_MASK 0x20
#define APCTL1_ADPC6_MASK 0x40
#define APCTL1_ADPC7_MASK 0x80
/*** APCTL2 - Pin Control 2 Register; 0x00000018 ***/
typedef union {
byte Byte;
struct {
byte ADPC8 :1; /* ADC Pin Control 8 - ADPC8 is used to control the pin associated with channel AD8 */
byte ADPC9 :1; /* ADC Pin Control 9 - ADPC9 is used to control the pin associated with channel AD9 */
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} Bits;
struct {
byte grpADPC_8 :2;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} MergedBits;
} APCTL2STR;
extern volatile APCTL2STR _APCTL2 @0x00000018;
#define APCTL2 _APCTL2.Byte
#define APCTL2_ADPC8 _APCTL2.Bits.ADPC8
#define APCTL2_ADPC9 _APCTL2.Bits.ADPC9
#define APCTL2_ADPC_8 _APCTL2.MergedBits.grpADPC_8
#define APCTL2_ADPC APCTL2_ADPC_8
#define APCTL2_ADPC8_MASK 0x01
#define APCTL2_ADPC9_MASK 0x02
#define APCTL2_ADPC_8_MASK 0x03
#define APCTL2_ADPC_8_BITNUM 0x00
/*** ACMP1SC - ACMP1 Status and Control Register; 0x0000001A ***/
typedef union {
byte Byte;
struct {
byte ACMOD0 :1; /* Analog Comparator Mode Bit 0 */
byte ACMOD1 :1; /* Analog Comparator Mode Bit 1 */
byte ACOPE :1; /* Analog Comparator Output Pin Enable */
byte ACO :1; /* Analog Comparator Output */
byte ACIE :1; /* Analog Comparator Interrupt Enable */
byte ACF :1; /* Analog Comparator Flag */
byte ACBGS :1; /* Analog Comparator Bandgap Select */
byte ACME :1; /* Analog Comparator Module Enable */
} Bits;
struct {
byte grpACMOD :2;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} MergedBits;
} ACMP1SCSTR;
extern volatile ACMP1SCSTR _ACMP1SC @0x0000001A;
#define ACMP1SC _ACMP1SC.Byte
#define ACMP1SC_ACMOD0 _ACMP1SC.Bits.ACMOD0
#define ACMP1SC_ACMOD1 _ACMP1SC.Bits.ACMOD1
#define ACMP1SC_ACOPE _ACMP1SC.Bits.ACOPE
#define ACMP1SC_ACO _ACMP1SC.Bits.ACO
#define ACMP1SC_ACIE _ACMP1SC.Bits.ACIE
#define ACMP1SC_ACF _ACMP1SC.Bits.ACF
#define ACMP1SC_ACBGS _ACMP1SC.Bits.ACBGS
#define ACMP1SC_ACME _ACMP1SC.Bits.ACME
#define ACMP1SC_ACMOD _ACMP1SC.MergedBits.grpACMOD
#define ACMP1SC_ACMOD0_MASK 0x01
#define ACMP1SC_ACMOD1_MASK 0x02
#define ACMP1SC_ACOPE_MASK 0x04
#define ACMP1SC_ACO_MASK 0x08
#define ACMP1SC_ACIE_MASK 0x10
#define ACMP1SC_ACF_MASK 0x20
#define ACMP1SC_ACBGS_MASK 0x40
#define ACMP1SC_ACME_MASK 0x80
#define ACMP1SC_ACMOD_MASK 0x03
#define ACMP1SC_ACMOD_BITNUM 0x00
/*** ACMP2SC - ACMP2 Status and Control Register; 0x0000001B ***/
typedef union {
byte Byte;
struct {
byte ACMOD0 :1; /* Analog Comparator Mode Bit 0 */
byte ACMOD1 :1; /* Analog Comparator Mode Bit 1 */
byte ACOPE :1; /* Analog Comparator Output Pin Enable */
byte ACO :1; /* Analog Comparator Output */
byte ACIE :1; /* Analog Comparator Interrupt Enable */
byte ACF :1; /* Analog Comparator Flag */
byte ACBGS :1; /* Analog Comparator Bandgap Select */
byte ACME :1; /* Analog Comparator Module Enable */
} Bits;
struct {
byte grpACMOD :2;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} MergedBits;
} ACMP2SCSTR;
extern volatile ACMP2SCSTR _ACMP2SC @0x0000001B;
#define ACMP2SC _ACMP2SC.Byte
#define ACMP2SC_ACMOD0 _ACMP2SC.Bits.ACMOD0
#define ACMP2SC_ACMOD1 _ACMP2SC.Bits.ACMOD1
#define ACMP2SC_ACOPE _ACMP2SC.Bits.ACOPE
#define ACMP2SC_ACO _ACMP2SC.Bits.ACO
#define ACMP2SC_ACIE _ACMP2SC.Bits.ACIE
#define ACMP2SC_ACF _ACMP2SC.Bits.ACF
#define ACMP2SC_ACBGS _ACMP2SC.Bits.ACBGS
#define ACMP2SC_ACME _ACMP2SC.Bits.ACME
#define ACMP2SC_ACMOD _ACMP2SC.MergedBits.grpACMOD
#define ACMP2SC_ACMOD0_MASK 0x01
#define ACMP2SC_ACMOD1_MASK 0x02
#define ACMP2SC_ACOPE_MASK 0x04
#define ACMP2SC_ACO_MASK 0x08
#define ACMP2SC_ACIE_MASK 0x10
#define ACMP2SC_ACF_MASK 0x20
#define ACMP2SC_ACBGS_MASK 0x40
#define ACMP2SC_ACME_MASK 0x80
#define ACMP2SC_ACMOD_MASK 0x03
#define ACMP2SC_ACMOD_BITNUM 0x00
/*** SCIBD - SCI Baud Rate Register; 0x00000020 ***/
typedef union {
word Word;
/* Overlapped registers: */
struct {
/*** SCIBDH - SCI Baud Rate Register High; 0x00000020 ***/
union {
byte Byte;
struct {
byte SBR8 :1; /* Baud Rate Modulo Divisor Bit 8 */
byte SBR9 :1; /* Baud Rate Modulo Divisor Bit 9 */
byte SBR10 :1; /* Baud Rate Modulo Divisor Bit 10 */
byte SBR11 :1; /* Baud Rate Modulo Divisor Bit 11 */
byte SBR12 :1; /* Baud Rate Modulo Divisor Bit 12 */
byte :1;
byte RXEDGIE :1; /* RxD Input Active Edge Interrupt Enable (for RXEDGIF) */
byte LBKDIE :1; /* LIN Break Detect Interrupt Enable (for LBKDIF) */
} Bits;
struct {
byte grpSBR_8 :5;
byte :1;
byte :1;
byte :1;
} MergedBits;
} SCIBDHSTR;
#define SCIBDH _SCIBD.Overlap_STR.SCIBDHSTR.Byte
#define SCIBDH_SBR8 _SCIBD.Overlap_STR.SCIBDHSTR.Bits.SBR8
#define SCIBDH_SBR9 _SCIBD.Overlap_STR.SCIBDHSTR.Bits.SBR9
#define SCIBDH_SBR10 _SCIBD.Overlap_STR.SCIBDHSTR.Bits.SBR10
#define SCIBDH_SBR11 _SCIBD.Overlap_STR.SCIBDHSTR.Bits.SBR11
#define SCIBDH_SBR12 _SCIBD.Overlap_STR.SCIBDHSTR.Bits.SBR12
#define SCIBDH_RXEDGIE _SCIBD.Overlap_STR.SCIBDHSTR.Bits.RXEDGIE
#define SCIBDH_LBKDIE _SCIBD.Overlap_STR.SCIBDHSTR.Bits.LBKDIE
#define SCIBDH_SBR_8 _SCIBD.Overlap_STR.SCIBDHSTR.MergedBits.grpSBR_8
#define SCIBDH_SBR SCIBDH_SBR_8
#define SCIBDH_SBR8_MASK 0x01
#define SCIBDH_SBR9_MASK 0x02
#define SCIBDH_SBR10_MASK 0x04
#define SCIBDH_SBR11_MASK 0x08
#define SCIBDH_SBR12_MASK 0x10
#define SCIBDH_RXEDGIE_MASK 0x40
#define SCIBDH_LBKDIE_MASK 0x80
#define SCIBDH_SBR_8_MASK 0x1F
#define SCIBDH_SBR_8_BITNUM 0x00
/*** SCIBDL - SCI Baud Rate Register Low; 0x00000021 ***/
union {
byte Byte;
struct {
byte SBR0 :1; /* Baud Rate Modulo Divisor Bit 0 */
byte SBR1 :1; /* Baud Rate Modulo Divisor Bit 1 */
byte SBR2 :1; /* Baud Rate Modulo Divisor Bit 2 */
byte SBR3 :1; /* Baud Rate Modulo Divisor Bit 3 */
byte SBR4 :1; /* Baud Rate Modulo Divisor Bit 4 */
byte SBR5 :1; /* Baud Rate Modulo Divisor Bit 5 */
byte SBR6 :1; /* Baud Rate Modulo Divisor Bit 6 */
byte SBR7 :1; /* Baud Rate Modulo Divisor Bit 7 */
} Bits;
} SCIBDLSTR;
#define SCIBDL _SCIBD.Overlap_STR.SCIBDLSTR.Byte
#define SCIBDL_SBR0 _SCIBD.Overlap_STR.SCIBDLSTR.Bits.SBR0
#define SCIBDL_SBR1 _SCIBD.Overlap_STR.SCIBDLSTR.Bits.SBR1
#define SCIBDL_SBR2 _SCIBD.Overlap_STR.SCIBDLSTR.Bits.SBR2
#define SCIBDL_SBR3 _SCIBD.Overlap_STR.SCIBDLSTR.Bits.SBR3
#define SCIBDL_SBR4 _SCIBD.Overlap_STR.SCIBDLSTR.Bits.SBR4
#define SCIBDL_SBR5 _SCIBD.Overlap_STR.SCIBDLSTR.Bits.SBR5
#define SCIBDL_SBR6 _SCIBD.Overlap_STR.SCIBDLSTR.Bits.SBR6
#define SCIBDL_SBR7 _SCIBD.Overlap_STR.SCIBDLSTR.Bits.SBR7
#define SCIBDL_SBR0_MASK 0x01
#define SCIBDL_SBR1_MASK 0x02
#define SCIBDL_SBR2_MASK 0x04
#define SCIBDL_SBR3_MASK 0x08
#define SCIBDL_SBR4_MASK 0x10
#define SCIBDL_SBR5_MASK 0x20
#define SCIBDL_SBR6_MASK 0x40
#define SCIBDL_SBR7_MASK 0x80
} Overlap_STR;
} SCIBDSTR;
extern volatile SCIBDSTR _SCIBD @0x00000020;
#define SCIBD _SCIBD.Word
/*** SCIC1 - SCI Control Register 1; 0x00000022 ***/
typedef union {
byte Byte;
struct {
byte PT :1; /* Parity Type */
byte PE :1; /* Parity Enable */
byte ILT :1; /* Idle Line Type Select */
byte WAKE :1; /* Receiver Wakeup Method Select */
byte M :1; /* 9-Bit or 8-Bit Mode Select */
byte RSRC :1; /* Receiver Source Select */
byte SCISWAI :1; /* SCI Stops in Wait Mode */
byte LOOPS :1; /* Loop Mode Select */
} Bits;
} SCIC1STR;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -