00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef INC_LPC21xx_H
00015 #define INC_LPC21xx_H
00016
00017 #define REG_8 volatile unsigned char
00018 #define REG16 volatile unsigned short
00019 #define REG32 volatile unsigned long
00020
00021 #include "lpc2100/lpcWD.h"
00022 #include "lpc2100/lpcTMR.h"
00023 #include "lpc2100/lpcUART.h"
00024 #include "lpc2100/lpcI2C.h"
00025 #include "lpc2100/lpcSPI.h"
00026 #include "lpc2100/lpcRTC.h"
00027 #include "lpc2100/lpcGPIO.h"
00028 #include "lpc2100/lpcPIN.h"
00029 #include "lpc2100/lpcADC.h"
00030 #include "lpc2100/lpcSCB.h"
00031 #include "lpc2100/lpcVIC.h"
00032
00034
00035 #define WD ((wdRegs_t *)0xE0000000)
00036
00037
00038 #define WDMOD WD->mod
00039 #define WDTC WD->tc
00040 #define WDFEED WD->feed
00041 #define WDTV WD->tv
00042
00044
00045 #define TMR0 ((pwmTmrRegs_t *)0xE0004000)
00046
00047
00048 #define T0IR TMR0->ir
00049 #define T0TCR TMR0->tcr
00050 #define T0TC TMR0->tc
00051 #define T0PR TMR0->pr
00052 #define T0PC TMR0->pc
00053 #define T0MCR TMR0->mcr
00054 #define T0MR0 TMR0->mr0
00055 #define T0MR1 TMR0->mr1
00056 #define T0MR2 TMR0->mr2
00057 #define T0MR3 TMR0->mr3
00058 #define T0CCR TMR0->ccr
00059 #define T0CR0 TMR0->cr0
00060 #define T0CR1 TMR0->cr1
00061 #define T0CR2 TMR0->cr2
00062 #define T0CR3 TMR0->cr3
00063 #define T0EMR TMR0->emr
00064
00066
00067 #define TMR1 ((pwmTmrRegs_t *)0xE0008000)
00068
00069
00070 #define T1IR TMR1->ir
00071 #define T1TCR TMR1->tcr
00072 #define T1TC TMR1->tc
00073 #define T1PR TMR1->pr
00074 #define T1PC TMR1->pc
00075 #define T1MCR TMR1->mcr
00076 #define T1MR0 TMR1->mr0
00077 #define T1MR1 TMR1->mr1
00078 #define T1MR2 TMR1->mr2
00079 #define T1MR3 TMR1->mr3
00080 #define T1CCR TMR1->ccr
00081 #define T1CR0 TMR1->cr0
00082 #define T1CR1 TMR1->cr1
00083 #define T1CR2 TMR1->cr2
00084 #define T1CR3 TMR1->cr3
00085 #define T1EMR TMR1->emr
00086
00088
00089 #define PWM ((pwmTmrRegs_t *)0xE0014000)
00090
00091
00092 #define PWMIR PWM->ir
00093 #define PWMTCR PWM->tcr
00094 #define PWMTC PWM->tc
00095 #define PWMPR PWM->pr
00096 #define PWMPC PWM->pc
00097 #define PWMMCR PWM->mcr
00098 #define PWMMR0 PWM->mr0
00099 #define PWMMR1 PWM->mr1
00100 #define PWMMR2 PWM->mr2
00101 #define PWMMR3 PWM->mr3
00102 #define PWMMR4 PWM->mr4
00103 #define PWMMR5 PWM->mr5
00104 #define PWMMR6 PWM->mr6
00105 #define PWMPCR PWM->pcr
00106 #define PWMLER PWM->ler
00107
00109
00110 #define UART0 ((uartRegs_t *)0xE000C000)
00111 #define U0_PINSEL (0x00000005)
00112 #define U0_PINMASK (0x0000000F)
00113
00114
00115 #define U0RBR UART0->rbr
00116 #define U0THR UART0->thr
00117 #define U0IER UART0->ier
00118 #define U0IIR UART0->iir
00119 #define U0FCR UART0->fcr
00120 #define U0LCR UART0->lcr
00121 #define U0LSR UART0->lsr
00122 #define U0SCR UART0->scr
00123 #define U0DLL UART0->dll
00124 #define U0DLM UART0->dlm
00125
00127
00128 #define UART1 ((uartRegs_t *)0xE0010000)
00129 #define U1_PINSEL (0x00050000)
00130 #define U1_PINMASK (0x000F0000)
00131
00132
00133 #define U1RBR UART1->rbr
00134 #define U1THR UART1->thr
00135 #define U1IER UART1->ier
00136 #define U1IIR UART1->iir
00137 #define U1FCR UART1->fcr
00138 #define U1LCR UART1->lcr
00139 #define U1MCR UART1->mcr
00140 #define U1LSR UART1->lsr
00141 #define U1MSR UART1->msr
00142 #define U1SCR UART1->scr
00143 #define U1DLL UART1->dll
00144 #define U1DLM UART1->dlm
00145
00147
00148 #define I2C ((i2cRegs_t *)0xE001C000)
00149
00150
00151 #define I2CONSET I2C->conset
00152 #define I2STAT I2C->stat
00153 #define I2DAT I2C->dat
00154 #define I2ADR I2C->adr
00155 #define I2SCLH I2C->sclh
00156 #define I2SCLL I2C->scll
00157 #define I2CONCLR I2C->conclr
00158
00160
00161 #define SPI0 ((spiRegs_t *)0xE0020000)
00162
00163
00164 #define S0SPCR SPI0->cr
00165 #define S0SPSR SPI0->sr
00166 #define S0SPDR SPI0->dr
00167 #define S0SPCCR SPI0->ccr
00168 #define S0SPINT SPI0->flag
00169
00171
00172 #define SPI1 ((spiRegs_t *)0xE0030000)
00173
00174
00175 #define S1SPCR SPI1->cr
00176 #define S1SPSR SPI1->sr
00177 #define S1SPDR SPI1->dr
00178 #define S1SPCCR SPI1->ccr
00179 #define S1SPINT SPI1->flag
00180
00182
00183 #define RTC ((rtcRegs_t *)0xE0024000)
00184
00185
00186 #define RTCILR RTC->ilr
00187 #define RTCCTC RTC->ctc
00188 #define RTCCCR RTC->ccr
00189 #define RTCCIIR RTC->ciir
00190 #define RTCAMR RTC->amr
00191 #define RTCCTIME0 RTC->ctime0
00192 #define RTCCTIME1 RTC->ctime1
00193 #define RTCCTIME2 RTC->ctime2
00194 #define RTCSEC RTC->sec
00195 #define RTCMIN RTC->min
00196 #define RTCHOUR RTC->hour
00197 #define RTCDOM RTC->dom
00198 #define RTCDOW RTC->dow
00199 #define RTCDOY RTC->doy
00200 #define RTCMONTH RTC->month
00201 #define RTCYEAR RTC->year
00202 #define RTCALSEC RTC->alsec
00203 #define RTCALMIN RTC->almin
00204 #define RTCALHOUR RTC->alhour
00205 #define RTCALDOM RTC->aldom
00206 #define RTCALDOW RTC->aldow
00207 #define RTCALDOY RTC->aldoy
00208 #define RTCALMON RTC->almon
00209 #define RTCALYEAR RTC->alyear
00210 #define RTCPREINT RTC->preint
00211 #define RTCPREFRAC RTC->prefrac
00212
00214
00215 #define GPIO0 ((gpioRegs_t *)0xE0028000)
00216 #define GPIO1 ((gpioRegs_t *)0xE0028010)
00217
00218
00219 #define IO0PIN GPIO0->in
00220 #define IO0SET GPIO0->set
00221 #define IO0DIR GPIO0->dir
00222 #define IO0CLR GPIO0->clr
00223 #define IO1PIN GPIO1->in
00224 #define IO1SET GPIO1->set
00225 #define IO1DIR GPIO1->dir
00226 #define IO1CLR GPIO1->clr
00227
00229
00230 #define PINSEL ((pinRegs_t *)0xE002C000)
00231
00232
00233 #define PINSEL0 PINSEL->sel0
00234 #define PINSEL1 PINSEL->sel1
00235 #define PINSEL2 PINSEL->sel2
00236
00238
00239 #define ADC ((adcRegs_t *)0xE0034000)
00240
00241
00242 #define ADCR ADC->cr
00243 #define ADDR ADC->dr
00244
00246
00247 #define SCB ((scbRegs_t *)0xE01FC000)
00248
00249
00250 #define MAMCR SCB->mam.cr
00251 #define MAMTIM SCB->mam.tim
00252
00253
00254 #define MEMMAP SCB->memmap
00255
00256
00257 #define PLLCON SCB->pll.con
00258 #define PLLCFG SCB->pll.cfg
00259 #define PLLSTAT SCB->pll.stat
00260 #define PLLFEED SCB->pll.feed
00261
00262
00263 #define PCON SCB->p.con
00264 #define PCONP SCB->p.conp
00265
00266
00267 #define VPBDIV SCB->vpbdiv
00268
00269
00270 #define EXTINT SCB->ext.flag
00271 #define EXTWAKE SCB->ext.wake
00272 #define EXTMODE SCB->ext.mode
00273 #define EXTPOLAR SCB->ext.polar
00274
00276
00277 #define VIC ((vicRegs_t *)0xFFFFF000)
00278
00279
00280 #define VICIRQStatus VIC->irqStatus
00281 #define VICFIQStatus VIC->fiqStatus
00282 #define VICRawIntr VIC->rawIntr
00283 #define VICIntSelect VIC->intSelect
00284 #define VICIntEnable VIC->intEnable
00285 #define VICIntEnClear VIC->intEnClear
00286 #define VICSoftInt VIC->softInt
00287 #define VICSoftIntClear VIC->softIntClear
00288 #define VICProtection VIC->protection
00289 #define VICVectAddr VIC->vectAddr
00290 #define VICDefVectAddr VIC->defVectAddr
00291 #define VICVectAddr0 VIC->vectAddr0
00292 #define VICVectAddr1 VIC->vectAddr1
00293 #define VICVectAddr2 VIC->vectAddr2
00294 #define VICVectAddr3 VIC->vectAddr3
00295 #define VICVectAddr4 VIC->vectAddr4
00296 #define VICVectAddr5 VIC->vectAddr5
00297 #define VICVectAddr6 VIC->vectAddr6
00298 #define VICVectAddr7 VIC->vectAddr7
00299 #define VICVectAddr8 VIC->vectAddr8
00300 #define VICVectAddr9 VIC->vectAddr9
00301 #define VICVectAddr10 VIC->vectAddr10
00302 #define VICVectAddr11 VIC->vectAddr11
00303 #define VICVectAddr12 VIC->vectAddr12
00304 #define VICVectAddr13 VIC->vectAddr13
00305 #define VICVectAddr14 VIC->vectAddr14
00306 #define VICVectAddr15 VIC->vectAddr15
00307 #define VICVectAdrArray VIC->vectAdrArray
00308 #define VICVectCntl0 VIC->vectCntl0
00309 #define VICVectCntl1 VIC->vectCntl1
00310 #define VICVectCntl2 VIC->vectCntl2
00311 #define VICVectCntl3 VIC->vectCntl3
00312 #define VICVectCntl4 VIC->vectCntl4
00313 #define VICVectCntl5 VIC->vectCntl5
00314 #define VICVectCntl6 VIC->vectCntl6
00315 #define VICVectCntl7 VIC->vectCntl7
00316 #define VICVectCntl8 VIC->vectCntl8
00317 #define VICVectCntl9 VIC->vectCntl9
00318 #define VICVectCntl10 VIC->vectCntl10
00319 #define VICVectCntl11 VIC->vectCntl11
00320 #define VICVectCntl12 VIC->vectCntl12
00321 #define VICVectCntl13 VIC->vectCntl13
00322 #define VICVectCntl14 VIC->vectCntl14
00323 #define VICVectCntl15 VIC->vectCntl15
00324 #define VICVectCtlArray VIC->vectCtlArray
00325
00326 #endif