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