⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpc213x.h

📁 lpc213x的IAP程序
💻 H
📖 第 1 页 / 共 5 页
字号:
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 + -