📄 lpc213x.h
字号:
typedef union {
uint16 Reg16;
struct {
uint16 CAP0RE :1;
uint16 CAP0FE :1;
uint16 CAP0I :1;
uint16 CAP1RE :1;
uint16 CAP1FE :1;
uint16 CAP1I :1;
uint16 CAP2RE :1;
uint16 CAP2FE :1;
uint16 CAP2I :1;
uint16 CAP3RE :1;
uint16 CAP3FE :1;
uint16 CAP3I :1;
uint16 :4;
} Bits;
} TCCRSTR;
/*extern volatile TCCRSTR _T0CC @0xE0004028;*/
#define _T0CC (*((volatile TCCRSTR *) 0xE0004028))
#define T0CCR _T0CC.Reg16
#define T0CCR_CAP0RE _T0CC.Bits.CAP0RE
#define T0CCR_CAP0FE _T0CC.Bits.CAP0FE
#define T0CCR_CAP0I _T0CC.Bits.CAP0I
#define T0CCR_CAP1RE _T0CC.Bits.CAP1RE
#define T0CCR_CAP1FE _T0CC.Bits.CAP1FE
#define T0CCR_CAP1I _T0CC.Bits.CAP1I
#define T0CCR_CAP2RE _T0CC.Bits.CAP2RE
#define T0CCR_CAP2FE _T0CC.Bits.CAP2FE
#define T0CCR_CAP2I _T0CC.Bits.CAP2I
#define T0CCR_CAP3RE _T0CC.Bits.CAP3RE
#define T0CCR_CAP3FE _T0CC.Bits.CAP3FE
#define T0CCR_CAP3I _T0CC.Bits.CAP3I
/*extern volatile uint32 T0CR0 @0xE000402C;
extern volatile uint32 T0CR1 @0xE0004030;
extern volatile uint32 T0CR2 @0xE0004034;
extern volatile uint32 T0CR3 @0xE0004038;
*/
#define T0CR0 (*((volatile unsigned long *) 0xE000402C))
#define T0CR1 (*((volatile unsigned long *) 0xE0004030))
#define T0CR2 (*((volatile unsigned long *) 0xE0004034))
#define T0CR3 (*((volatile unsigned long *) 0xE0004038))
typedef union {
uint16 Reg16;
struct {
uint16 EM0 :1;
uint16 EM1 :1;
uint16 EM2 :1;
uint16 EM3 :1;
uint16 EMC0 :2;
uint16 EMC1 :2;
uint16 EMC2 :2;
uint16 EMC3 :2;
uint16 :4;
} Bits;
} TEMRSTR;
/*extern volatile TEMRSTR _T0EM @0xE000403C; */
#define _T0EM (*((volatile TEMRSTR *) 0xE000403C))
#define T0EMR _T0EM.Reg16
#define T0EMR_EM0 _T0EM.Bits.EM0
#define T0EMR_EM1 _T0EM.Bits.EM1
#define T0EMR_EM2 _T0EM.Bits.EM2
#define T0EMR_EM3 _T0EM.Bits.EM3
#define T0EMR_EMC0 _T0EM.Bits.EMC0
#define T0EMR_EMC1 _T0EM.Bits.EMC1
#define T0EMR_EMC2 _T0EM.Bits.EMC2
#define T0EMR_EMC3 _T0EM.Bits.EMC3
/* Timer 1 */
/* 定时器1的特殊寄存器 */
/*extern volatile TIRSTR _T1I @0xE0008000;*/
#define _T1I (*((volatile TIRSTR *) 0xE0008000))
#define T1IR _T1I.Reg8
#define T1IR_MR0 _T1I.Bits.MR0
#define T1IR_MR1 _T1I.Bits.MR1
#define T1IR_MR2 _T1I.Bits.MR2
#define T1IR_MR3 _T1I.Bits.MR3
#define T1IR_CR0 _T1I.Bits.CR0
#define T1IR_CR1 _T1I.Bits.CR1
#define T1IR_CR2 _T1I.Bits.CR2
#define T1IR_CR3 _T1I.Bits.CR3
/*extern volatile TTCRSTR _T1TC @0xE0008004;*/
#define _T1TC (*((volatile TTCRSTR *) 0xE0008004))
#define T1TCR _T1TC.Reg8
#define T1TCR_CE _T1TC.Bits.CE
#define T1TCR_CR _T1TC.Bits.CR
/*extern volatile TTCRSTR _T1CTC @0xE0008070;*/
#define _T1CTC (*((volatile TCTCRSTR *) 0xE0008070))
#define T1CTCR _T1CTC.Reg8
#define T1CTCR_CTM _T1CTC.Bits.CTM
#define T1CTCR_CIS _T1CTC.Bits.CIS
/*extern volatile uint32 T1TC @0xE0008008;
extern volatile uint32 T1PR @0xE000800C;
extern volatile uint32 T1PC @0xE0008010;
*/
#define T1TC (*((volatile unsigned long *) 0xE0008008))
#define T1PR (*((volatile unsigned long *) 0xE000800C))
#define T1PC (*((volatile unsigned long *) 0xE0008010))
/*extern volatile TMCRSTR _T1MC @0xE0008014;*/
#define _T1MC (*((volatile TMCRSTR *) 0xE0008014))
#define T1MCR _T1MC.Reg16
#define T1MCR_MR0I _T1MC.Bits.MR0I
#define T1MCR_MR0R _T1MC.Bits.MR0R
#define T1MCR_MR0S _T1MC.Bits.MR0S
#define T1MCR_MR1I _T1MC.Bits.MR1I
#define T1MCR_MR1R _T1MC.Bits.MR1R
#define T1MCR_MR1S _T1MC.Bits.MR1S
#define T1MCR_MR2I _T1MC.Bits.MR2I
#define T1MCR_MR2R _T1MC.Bits.MR2R
#define T1MCR_MR2S _T1MC.Bits.MR2S
#define T1MCR_MR3I _T1MC.Bits.MR3I
#define T1MCR_MR3R _T1MC.Bits.MR3R
#define T1MCR_MR3S _T1MC.Bits.MR3S
/*extern volatile uint32 T1MR0 @0xE0008018;
extern volatile uint32 T1MR1 @0xE000801C;
extern volatile uint32 T1MR2 @0xE0008020;
extern volatile uint32 T1MR3 @0xE0008024;
*/
#define T1MR0 (*((volatile unsigned long *) 0xE0008018))
#define T1MR1 (*((volatile unsigned long *) 0xE000801C))
#define T1MR2 (*((volatile unsigned long *) 0xE0008020))
#define T1MR3 (*((volatile unsigned long *) 0xE0008024))
/*extern volatile TCCRSTR _T1CC @0xE0008028;*/
#define _T1CC (*((volatile TCCRSTR *) 0xE0008028))
#define T1CCR _T1CC.Reg16
#define T1CCR_CAP0RE _T1CC.Bits.CAP0RE
#define T1CCR_CAP0FE _T1CC.Bits.CAP0FE
#define T1CCR_CAP0I _T1CC.Bits.CAP0I
#define T1CCR_CAP1RE _T1CC.Bits.CAP1RE
#define T1CCR_CAP1FE _T1CC.Bits.CAP1FE
#define T1CCR_CAP1I _T1CC.Bits.CAP1I
#define T1CCR_CAP2RE _T1CC.Bits.CAP2RE
#define T1CCR_CAP2FE _T1CC.Bits.CAP2FE
#define T1CCR_CAP2I _T1CC.Bits.CAP2I
#define T1CCR_CAP3RE _T1CC.Bits.CAP3RE
#define T1CCR_CAP3FE _T1CC.Bits.CAP3FE
#define T1CCR_CAP3I _T1CC.Bits.CAP3I
/*extern volatile uint32 T1CR0 @0xE000802C;
extern volatile uint32 T1CR1 @0xE0008030;
extern volatile uint32 T1CR2 @0xE0008034;
extern volatile uint32 T1CR3 @0xE0008038;
*/
#define T1CR0 (*((volatile unsigned long *) 0xE000802C))
#define T1CR1 (*((volatile unsigned long *) 0xE0008030))
#define T1CR2 (*((volatile unsigned long *) 0xE0008034))
#define T1CR3 (*((volatile unsigned long *) 0xE0008038))
/*extern volatile TEMRSTR _T1EM @0xE000803C;*/
#define _T1EM (*((volatile TEMRSTR *) 0xE000803C))
#define T1EMR _T1EM.Reg16
#define T1EMR_EM0 _T1EM.Bits.EM0
#define T1EMR_EM1 _T1EM.Bits.EM1
#define T1EMR_EM2 _T1EM.Bits.EM2
#define T1EMR_EM3 _T1EM.Bits.EM3
#define T1EMR_EMC0 _T1EM.Bits.EMC0
#define T1EMR_EMC1 _T1EM.Bits.EMC1
#define T1EMR_EMC2 _T1EM.Bits.EMC2
#define T1EMR_EMC3 _T1EM.Bits.EMC3
/* Pulse Width Modulator (PWM) */
/* 脉宽调制器的特殊寄存器 */
typedef union {
uint16 Reg16;
struct {
uint16 MR0 :1;
uint16 MR1 :1;
uint16 MR2 :1;
uint16 MR3 :1;
uint16 NOP :4;
uint16 MR4 :1;
uint16 MR5 :1;
uint16 MR6 :1;
uint16 :5;
} Bits;
} PWMIRSTR;
/*extern volatile PWMIRSTR _PWMI @0xE0014000;*/
#define _PWMI (*((volatile PWMIRSTR *) 0xE0014000))
#define PWMIR _PWMI.Reg16
#define PWMIR_MR0 _PWMI.Bits.MR0
#define PWMIR_MR1 _PWMI.Bits.MR1
#define PWMIR_MR2 _PWMI.Bits.MR2
#define PWMIR_MR3 _PWMI.Bits.MR3
#define PWMIR_MR4 _PWMI.Bits.MR4
#define PWMIR_MR5 _PWMI.Bits.MR5
#define PWMIR_MR6 _PWMI.Bits.MR6
typedef union {
uint8 Reg8;
struct {
uint8 CE :1;
uint8 CR :1;
uint8 :1;
uint8 PWME :1;
uint8 :4;
} Bits;
} PWMTCRSTR;
/*extern volatile PWMTCRSTR _PWMTC @0xE0014004;*/
#define _PWMTC (*((volatile PWMTCRSTR *) 0xE0014004))
#define PWMTCR _PWMTC.Reg8
#define PWMTCR_CE _PWMTC.Bits.CE
#define PWMTCR_CR _PWMTC.Bits.CR
#define PWMTCR_PWME _PWMTC.Bits.PWME
/*extern volatile uint32 PWMTC @0xE0014008;
extern volatile uint32 PWMPR @0xE001400C;
extern volatile uint32 PWMPC @0xE0014010;
*/
#define PWMTC (*((volatile unsigned long *) 0xE0014008))
#define PWMPR (*((volatile unsigned long *) 0xE001400C))
#define PWMPC (*((volatile unsigned long *) 0xE0014010))
typedef union {
uint32 Reg32;
struct {
uint32 MR0I :1;
uint32 MR0R :1;
uint32 MR0S :1;
uint32 MR1I :1;
uint32 MR1R :1;
uint32 MR1S :1;
uint32 MR2I :1;
uint32 MR2R :1;
uint32 MR2S :1;
uint32 MR3I :1;
uint32 MR3R :1;
uint32 MR3S :1;
uint32 MR4I :1;
uint32 MR4R :1;
uint32 MR4S :1;
uint32 MR5I :1;
uint32 MR5R :1;
uint32 MR5S :1;
uint32 MR6I :1;
uint32 MR6R :1;
uint32 MR6S :1;
uint32 :11;
} Bits;
} PWMMCRSTR;
/*extern volatile PWMMCRSTR _PWMMC @0xE0014014;*/
#define _PWMMC (*((volatile PWMMCRSTR *) 0xE0014014))
#define PWMMCR _PWMMC.Reg32
#define PWMMCR_MR0I _PWMMC.Bits.MR0I
#define PWMMCR_MR0R _PWMMC.Bits.MR0R
#define PWMMCR_MR0S _PWMMC.Bits.MR0S
#define PWMMCR_MR1I _PWMMC.Bits.MR1I
#define PWMMCR_MR1R _PWMMC.Bits.MR1R
#define PWMMCR_MR1S _PWMMC.Bits.MR1S
#define PWMMCR_MR2I _PWMMC.Bits.MR2I
#define PWMMCR_MR2R _PWMMC.Bits.MR2R
#define PWMMCR_MR2S _PWMMC.Bits.MR2S
#define PWMMCR_MR3I _PWMMC.Bits.MR3I
#define PWMMCR_MR3R _PWMMC.Bits.MR3R
#define PWMMCR_MR3S _PWMMC.Bits.MR3S
#define PWMMCR_MR4I _PWMMC.Bits.MR4I
#define PWMMCR_MR4R _PWMMC.Bits.MR4R
#define PWMMCR_MR4S _PWMMC.Bits.MR4S
#define PWMMCR_MR5I _PWMMC.Bits.MR5I
#define PWMMCR_MR5R _PWMMC.Bits.MR5R
#define PWMMCR_MR5S _PWMMC.Bits.MR5S
#define PWMMCR_MR6I _PWMMC.Bits.MR6I
#define PWMMCR_MR6R _PWMMC.Bits.MR6R
#define PWMMCR_MR6S _PWMMC.Bits.MR6S
/*extern volatile uint32 PWMMR0 @0xE0014018;
extern volatile uint32 PWMMR1 @0xE001401C;
extern volatile uint32 PWMMR2 @0xE0014020;
extern volatile uint32 PWMMR3 @0xE0014024;
extern volatile uint32 PWMMR4 @0xE0014040;
extern volatile uint32 PWMMR5 @0xE0014044;
extern volatile uint32 PWMMR6 @0xE0014048;
*/
#define PWMMR0 (*((volatile unsigned long *) 0xE0014018))
#define PWMMR1 (*((volatile unsigned long *) 0xE001401C))
#define PWMMR2 (*((volatile unsigned long *) 0xE0014020))
#define PWMMR3 (*((volatile unsigned long *) 0xE0014024))
#define PWMMR4 (*((volatile unsigned long *) 0xE0014040))
#define PWMMR5 (*((volatile unsigned long *) 0xE0014044))
#define PWMMR6 (*((volatile unsigned long *) 0xE0014048))
typedef union {
uint16 Reg16;
struct {
uint16 :2;
uint16 SEL2 :1;
uint16 SEL3 :1;
uint16 SEL4 :1;
uint16 SEL5 :1;
uint16 SEL6 :1;
uint16 :2;
uint16 ENA1 :1;
uint16 ENA2 :1;
uint16 ENA3 :1;
uint16 ENA4 :1;
uint16 ENA5 :1;
uint16 ENA6 :1;
uint16 :1;
} Bits;
} PWMPCRSTR;
/*extern volatile PWMPCRSTR _PWMPC @0xE001404C;*/
#define _PWMPC (*((volatile PWMPCRSTR *) 0xE001404C))
#define PWMPCR _PWMPC.Reg16
#define PWMPCR_SEL2 _PWMPC.Bits.SEL2
#define PWMPCR_SEL3 _PWMPC.Bits.SEL3
#define PWMPCR_SEL4 _PWMPC.Bits.SEL4
#define PWMPCR_SEL5 _PWMPC.Bits.SEL5
#define PWMPCR_SEL6 _PWMPC.Bits.SEL6
#define PWMPCR_ENA1 _PWMPC.Bits.ENA1
#define PWMPCR_ENA2 _PWMPC.Bits.ENA2
#define PWMPCR_ENA3 _PWMPC.Bits.ENA3
#define PWMPCR_ENA4 _PWMPC.Bits.ENA4
#define PWMPCR_ENA5 _PWMPC.Bits.ENA5
#define PWMPCR_ENA6 _PWMPC.Bits.ENA6
typedef union {
uint8 Reg8;
struct {
uint8 EM0L :1;
uint8 EM1L :1;
uint8 EM2L :1;
uint8 EM3L :1;
uint8 EM4L :1;
uint8 EM5L :1;
uint8 EM6L :1;
uint8 :1;
} Bits;
} PWMLERSTR;
/*extern volatile PWMLERSTR _PWMLE @0xE0014050;*/
#define _PWMLE (*((volatile PWMLERSTR *) 0xE0014050))
#define PWMLER _PWMLE.Reg8
#define PWMLER_EM0L _PWMLE.Bits.EM0L
#define PWMLER_EM1L _PWMLE.Bits.EM1L
#define PWMLER_EM2L _PWMLE.Bits.EM2L
#define PWMLER_EM3L _PWMLE.Bits.EM3L
#define PWMLER_EM4L _PWMLE.Bits.EM4L
#define PWMLER_EM5L _PWMLE.Bits.EM5L
#define PWMLER_EM6L _PWMLE.Bits.EM6L
/* A/D CONVERTER */
/* A/D转换器 */
typedef union {
uint32 Reg32;
struct {
uint32 SEL :8;
uint32 CLKDIV :8;
uint32 BURST :1;
uint32 CLKS :3;
uint32 PDN :1;
uint32 TEST :2;
uint32 START :3;
uint32 EDGE :1;
uint32 :4;
} Bits;
} ADCRSTR;
/*extern volatile ADCRSTR _ADC @0xE0034000;*/
#define _AD0C (*((volatile ADCRSTR *) 0xE0034000))
#define AD0CR _AD0C.Reg32
#define AD0CR_SEL _AD0C.Bits.SEL
#define AD0CR_CLKDIV _AD0C.Bits.CLKDIV
#define AD0CR_BURST _AD0C.Bits.BURST
#define AD0CR_CLKS _AD0C.Bits.CLKS
#define AD0CR_PDN _AD0C.Bits.PDN
#define AD0CR_TEST _AD0C.Bits.TEST
#define AD0CR_START _AD0C.Bits.START
#define AD0CR_EDGE _AD0C.Bits.EDGE
typedef union {
uint32 Reg32;
struct {
uint32 :6;
uint32 VREF :10;
uint32 :8;
uint32 CHN :3;
uint32 :3;
uint32 OVERUN :1;
uint32 DONE :1;
} Bits;
} ADDRSTR;
/*extern volatile ADDRSTR _ADD @0xE0034004;*/
#define _AD0D (*((volatile ADDRSTR *) 0xE0034004))
#define AD0DR _AD0D.Reg32
#define AD0DR_VREF _AD0D.Bits.VREF
#define AD0DR_CHN _AD0D.Bits.CHN
#define AD0DR_OVERUN _AD0D.Bits.OVERUN
#define AD0DR_DONE _AD0D.Bits.DONE
typed
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -