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