📄 io_map.h
字号:
byte ADCH1 :1; /* Input Channel Select Bit 1 */
byte ADCH2 :1; /* Input Channel Select Bit 2 */
byte ADCH3 :1; /* Input Channel Select Bit 3 */
byte ADCH4 :1; /* Input Channel Select Bit 4 */
byte ADCO :1; /* Continuous Conversion Enable */
byte AIEN :1; /* Interrupt Enable */
byte COCO :1; /* Conversion Complete Flag */
} Bits;
struct {
byte grpADCH :5;
byte :1;
byte :1;
byte :1;
} MergedBits;
} ADCSC1STR;
extern volatile ADCSC1STR _ADCSC1 @0x00000010;
#define ADCSC1 _ADCSC1.Byte
#define ADCSC1_ADCH0 _ADCSC1.Bits.ADCH0
#define ADCSC1_ADCH1 _ADCSC1.Bits.ADCH1
#define ADCSC1_ADCH2 _ADCSC1.Bits.ADCH2
#define ADCSC1_ADCH3 _ADCSC1.Bits.ADCH3
#define ADCSC1_ADCH4 _ADCSC1.Bits.ADCH4
#define ADCSC1_ADCO _ADCSC1.Bits.ADCO
#define ADCSC1_AIEN _ADCSC1.Bits.AIEN
#define ADCSC1_COCO _ADCSC1.Bits.COCO
#define ADCSC1_ADCH _ADCSC1.MergedBits.grpADCH
#define ADCSC1_ADCH0_MASK 0x01
#define ADCSC1_ADCH1_MASK 0x02
#define ADCSC1_ADCH2_MASK 0x04
#define ADCSC1_ADCH3_MASK 0x08
#define ADCSC1_ADCH4_MASK 0x10
#define ADCSC1_ADCO_MASK 0x20
#define ADCSC1_AIEN_MASK 0x40
#define ADCSC1_COCO_MASK 0x80
#define ADCSC1_ADCH_MASK 0x1F
#define ADCSC1_ADCH_BITNUM 0x00
/*** ADCSC2 - Status and Control Register 2; 0x00000011 ***/
typedef union {
byte Byte;
struct {
byte :1;
byte :1;
byte :1;
byte :1;
byte ACFGT :1; /* Compare Function Greater Than Enable */
byte ACFE :1; /* Compare Function Enable */
byte ADTRG :1; /* Conversion Trigger Select */
byte ADACT :1; /* Conversion Active */
} Bits;
} ADCSC2STR;
extern volatile ADCSC2STR _ADCSC2 @0x00000011;
#define ADCSC2 _ADCSC2.Byte
#define ADCSC2_ACFGT _ADCSC2.Bits.ACFGT
#define ADCSC2_ACFE _ADCSC2.Bits.ACFE
#define ADCSC2_ADTRG _ADCSC2.Bits.ADTRG
#define ADCSC2_ADACT _ADCSC2.Bits.ADACT
#define ADCSC2_ACFGT_MASK 0x10
#define ADCSC2_ACFE_MASK 0x20
#define ADCSC2_ADTRG_MASK 0x40
#define ADCSC2_ADACT_MASK 0x80
/*** ADCR - ADC Result Data Right Justified; 0x00000012 ***/
typedef union {
word Word;
/* Overlapped registers: */
struct {
/*** ADCRH - ADC Result Data Right Justified High; 0x00000012 ***/
union {
byte Byte;
struct {
byte ADR8 :1; /* ADC Result Data Bit 8 */
byte ADR9 :1; /* ADC Result Data Bit 9 */
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} Bits;
struct {
byte grpADR_8 :2;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} MergedBits;
} ADCRHSTR;
#define ADCRH _ADCR.Overlap_STR.ADCRHSTR.Byte
#define ADCRH_ADR8 _ADCR.Overlap_STR.ADCRHSTR.Bits.ADR8
#define ADCRH_ADR9 _ADCR.Overlap_STR.ADCRHSTR.Bits.ADR9
#define ADCRH_ADR_8 _ADCR.Overlap_STR.ADCRHSTR.MergedBits.grpADR_8
#define ADCRH_ADR ADCRH_ADR_8
#define ADCRH_ADR8_MASK 0x01
#define ADCRH_ADR9_MASK 0x02
#define ADCRH_ADR_8_MASK 0x03
#define ADCRH_ADR_8_BITNUM 0x00
/*** ADCRL - ADC Result Data Right Justified Low; 0x00000013 ***/
union {
byte Byte;
struct {
byte ADR0 :1; /* ADC Result Data Bit 0 */
byte ADR1 :1; /* ADC Result Data Bit 1 */
byte ADR2 :1; /* ADC Result Data Bit 2 */
byte ADR3 :1; /* ADC Result Data Bit 3 */
byte ADR4 :1; /* ADC Result Data Bit 4 */
byte ADR5 :1; /* ADC Result Data Bit 5 */
byte ADR6 :1; /* ADC Result Data Bit 6 */
byte ADR7 :1; /* ADC Result Data Bit 7 */
} Bits;
} ADCRLSTR;
#define ADCRL _ADCR.Overlap_STR.ADCRLSTR.Byte
#define ADCRL_ADR0 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR0
#define ADCRL_ADR1 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR1
#define ADCRL_ADR2 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR2
#define ADCRL_ADR3 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR3
#define ADCRL_ADR4 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR4
#define ADCRL_ADR5 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR5
#define ADCRL_ADR6 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR6
#define ADCRL_ADR7 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR7
#define ADCRL_ADR0_MASK 0x01
#define ADCRL_ADR1_MASK 0x02
#define ADCRL_ADR2_MASK 0x04
#define ADCRL_ADR3_MASK 0x08
#define ADCRL_ADR4_MASK 0x10
#define ADCRL_ADR5_MASK 0x20
#define ADCRL_ADR6_MASK 0x40
#define ADCRL_ADR7_MASK 0x80
} Overlap_STR;
} ADCRSTR;
extern volatile ADCRSTR _ADCR @0x00000012;
#define ADCR _ADCR.Word
/*** ADCCV - Compare Value Register; 0x00000014 ***/
typedef union {
word Word;
/* Overlapped registers: */
struct {
/*** ADCCVH - Compare Value Register High; 0x00000014 ***/
union {
byte Byte;
struct {
byte ADCV8 :1; /* Compare Function Value 8 */
byte ADCV9 :1; /* Compare Function Value 9 */
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} Bits;
struct {
byte grpADCV_8 :2;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} MergedBits;
} ADCCVHSTR;
#define ADCCVH _ADCCV.Overlap_STR.ADCCVHSTR.Byte
#define ADCCVH_ADCV8 _ADCCV.Overlap_STR.ADCCVHSTR.Bits.ADCV8
#define ADCCVH_ADCV9 _ADCCV.Overlap_STR.ADCCVHSTR.Bits.ADCV9
#define ADCCVH_ADCV_8 _ADCCV.Overlap_STR.ADCCVHSTR.MergedBits.grpADCV_8
#define ADCCVH_ADCV ADCCVH_ADCV_8
#define ADCCVH_ADCV8_MASK 0x01
#define ADCCVH_ADCV9_MASK 0x02
#define ADCCVH_ADCV_8_MASK 0x03
#define ADCCVH_ADCV_8_BITNUM 0x00
/*** ADCCVL - Compare Value Register Low; 0x00000015 ***/
union {
byte Byte;
struct {
byte ADCV0 :1; /* Compare Function Value 0 */
byte ADCV1 :1; /* Compare Function Value 1 */
byte ADCV2 :1; /* Compare Function Value 2 */
byte ADCV3 :1; /* Compare Function Value 3 */
byte ADCV4 :1; /* Compare Function Value 4 */
byte ADCV5 :1; /* Compare Function Value 5 */
byte ADCV6 :1; /* Compare Function Value 6 */
byte ADCV7 :1; /* Compare Function Value 7 */
} Bits;
} ADCCVLSTR;
#define ADCCVL _ADCCV.Overlap_STR.ADCCVLSTR.Byte
#define ADCCVL_ADCV0 _ADCCV.Overlap_STR.ADCCVLSTR.Bits.ADCV0
#define ADCCVL_ADCV1 _ADCCV.Overlap_STR.ADCCVLSTR.Bits.ADCV1
#define ADCCVL_ADCV2 _ADCCV.Overlap_STR.ADCCVLSTR.Bits.ADCV2
#define ADCCVL_ADCV3 _ADCCV.Overlap_STR.ADCCVLSTR.Bits.ADCV3
#define ADCCVL_ADCV4 _ADCCV.Overlap_STR.ADCCVLSTR.Bits.ADCV4
#define ADCCVL_ADCV5 _ADCCV.Overlap_STR.ADCCVLSTR.Bits.ADCV5
#define ADCCVL_ADCV6 _ADCCV.Overlap_STR.ADCCVLSTR.Bits.ADCV6
#define ADCCVL_ADCV7 _ADCCV.Overlap_STR.ADCCVLSTR.Bits.ADCV7
#define ADCCVL_ADCV0_MASK 0x01
#define ADCCVL_ADCV1_MASK 0x02
#define ADCCVL_ADCV2_MASK 0x04
#define ADCCVL_ADCV3_MASK 0x08
#define ADCCVL_ADCV4_MASK 0x10
#define ADCCVL_ADCV5_MASK 0x20
#define ADCCVL_ADCV6_MASK 0x40
#define ADCCVL_ADCV7_MASK 0x80
} Overlap_STR;
} ADCCVSTR;
extern volatile ADCCVSTR _ADCCV @0x00000014;
#define ADCCV _ADCCV.Word
/*** ADCCFG - Configuration Register; 0x00000016 ***/
typedef union {
byte Byte;
struct {
byte ADICLK0 :1; /* Input Clock Select Bit 0 */
byte ADICLK1 :1; /* Input Clock Select Bit 1 */
byte MODE0 :1; /* Conversion Mode Selection Bit 0 */
byte MODE1 :1; /* Conversion Mode Selection Bit 1 */
byte ADLSMP :1; /* Long Sample Time Configuration */
byte ADIV0 :1; /* Clock Divide Select Bit 0 */
byte ADIV1 :1; /* Clock Divide Select Bit 1 */
byte ADLPC :1; /* Low Power Configuration */
} Bits;
struct {
byte grpADICLK :2;
byte grpMODE :2;
byte :1;
byte grpADIV :2;
byte :1;
} MergedBits;
} ADCCFGSTR;
extern volatile ADCCFGSTR _ADCCFG @0x00000016;
#define ADCCFG _ADCCFG.Byte
#define ADCCFG_ADICLK0 _ADCCFG.Bits.ADICLK0
#define ADCCFG_ADICLK1 _ADCCFG.Bits.ADICLK1
#define ADCCFG_MODE0 _ADCCFG.Bits.MODE0
#define ADCCFG_MODE1 _ADCCFG.Bits.MODE1
#define ADCCFG_ADLSMP _ADCCFG.Bits.ADLSMP
#define ADCCFG_ADIV0 _ADCCFG.Bits.ADIV0
#define ADCCFG_ADIV1 _ADCCFG.Bits.ADIV1
#define ADCCFG_ADLPC _ADCCFG.Bits.ADLPC
#define ADCCFG_ADICLK _ADCCFG.MergedBits.grpADICLK
#define ADCCFG_MODE _ADCCFG.MergedBits.grpMODE
#define ADCCFG_ADIV _ADCCFG.MergedBits.grpADIV
#define ADCCFG_ADICLK0_MASK 0x01
#define ADCCFG_ADICLK1_MASK 0x02
#define ADCCFG_MODE0_MASK 0x04
#define ADCCFG_MODE1_MASK 0x08
#define ADCCFG_ADLSMP_MASK 0x10
#define ADCCFG_ADIV0_MASK 0x20
#define ADCCFG_ADIV1_MASK 0x40
#define ADCCFG_ADLPC_MASK 0x80
#define ADCCFG_ADICLK_MASK 0x03
#define ADCCFG_ADICLK_BITNUM 0x00
#define ADCCFG_MODE_MASK 0x0C
#define ADCCFG_MODE_BITNUM 0x02
#define ADCCFG_ADIV_MASK 0x60
#define ADCCFG_ADIV_BITNUM 0x05
/*** APCTL1 - ADC Pin Control 1 Register; 0x00000017 ***/
typedef union {
byte Byte;
struct {
byte ADPC0 :1; /* ADC Pin Control 0 */
byte ADPC1 :1; /* ADC Pin Control 1 */
byte ADPC2 :1; /* ADC Pin Control 2 */
byte ADPC3 :1; /* ADC Pin Control 3 */
byte :1;
byte :1;
byte :1;
byte :1;
} Bits;
struct {
byte grpADPC :4;
byte :1;
byte :1;
byte :1;
byte :1;
} MergedBits;
} 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -