Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
LPC17xx.h
00001 /**************************************************************************//** 00002 * @file LPC17xx.h 00003 * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File for 00004 * NXP LPC17xx Device Series 00005 * @version: V1.08 00006 * @date: 21. December 2009 00007 * 00008 * @note 00009 * Copyright (C) 2009 ARM Limited. All rights reserved. 00010 * 00011 * @par 00012 * ARM Limited (ARM) is supplying this software for use with Cortex-M 00013 * processor based microcontrollers. This file can be freely distributed 00014 * within development tools that are supporting such ARM based processors. 00015 * 00016 * @par 00017 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED 00018 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF 00019 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. 00020 * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR 00021 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. 00022 * 00023 ******************************************************************************/ 00024 00025 00026 #ifndef __LPC17xx_H__ 00027 #define __LPC17xx_H__ 00028 00029 /* 00030 * ========================================================================== 00031 * ---------- Interrupt Number Definition ----------------------------------- 00032 * ========================================================================== 00033 */ 00034 00035 /** @addtogroup LPC17xx_System 00036 * @{ 00037 */ 00038 00039 /** @brief IRQ interrupt source definition */ 00040 typedef enum IRQn 00041 { 00042 /****** Cortex-M3 Processor Exceptions Numbers ***************************************************/ 00043 NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ 00044 MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */ 00045 BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */ 00046 UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */ 00047 SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */ 00048 DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */ 00049 PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */ 00050 SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */ 00051 00052 /****** LPC17xx Specific Interrupt Numbers *******************************************************/ 00053 WDT_IRQn = 0, /*!< Watchdog Timer Interrupt */ 00054 TIMER0_IRQn = 1, /*!< Timer0 Interrupt */ 00055 TIMER1_IRQn = 2, /*!< Timer1 Interrupt */ 00056 TIMER2_IRQn = 3, /*!< Timer2 Interrupt */ 00057 TIMER3_IRQn = 4, /*!< Timer3 Interrupt */ 00058 UART0_IRQn = 5, /*!< UART0 Interrupt */ 00059 UART1_IRQn = 6, /*!< UART1 Interrupt */ 00060 UART2_IRQn = 7, /*!< UART2 Interrupt */ 00061 UART3_IRQn = 8, /*!< UART3 Interrupt */ 00062 PWM1_IRQn = 9, /*!< PWM1 Interrupt */ 00063 I2C0_IRQn = 10, /*!< I2C0 Interrupt */ 00064 I2C1_IRQn = 11, /*!< I2C1 Interrupt */ 00065 I2C2_IRQn = 12, /*!< I2C2 Interrupt */ 00066 SPI_IRQn = 13, /*!< SPI Interrupt */ 00067 SSP0_IRQn = 14, /*!< SSP0 Interrupt */ 00068 SSP1_IRQn = 15, /*!< SSP1 Interrupt */ 00069 PLL0_IRQn = 16, /*!< PLL0 Lock (Main PLL) Interrupt */ 00070 RTC_IRQn = 17, /*!< Real Time Clock Interrupt */ 00071 EINT0_IRQn = 18, /*!< External Interrupt 0 Interrupt */ 00072 EINT1_IRQn = 19, /*!< External Interrupt 1 Interrupt */ 00073 EINT2_IRQn = 20, /*!< External Interrupt 2 Interrupt */ 00074 EINT3_IRQn = 21, /*!< External Interrupt 3 Interrupt */ 00075 ADC_IRQn = 22, /*!< A/D Converter Interrupt */ 00076 BOD_IRQn = 23, /*!< Brown-Out Detect Interrupt */ 00077 USB_IRQn = 24, /*!< USB Interrupt */ 00078 CAN_IRQn = 25, /*!< CAN Interrupt */ 00079 DMA_IRQn = 26, /*!< General Purpose DMA Interrupt */ 00080 I2S_IRQn = 27, /*!< I2S Interrupt */ 00081 ENET_IRQn = 28, /*!< Ethernet Interrupt */ 00082 RIT_IRQn = 29, /*!< Repetitive Interrupt Timer Interrupt */ 00083 MCPWM_IRQn = 30, /*!< Motor Control PWM Interrupt */ 00084 QEI_IRQn = 31, /*!< Quadrature Encoder Interface Interrupt */ 00085 PLL1_IRQn = 32, /*!< PLL1 Lock (USB PLL) Interrupt */ 00086 USBActivity_IRQn = 33, /*!< USB Activity Interrupt */ 00087 CANActivity_IRQn = 34, /*!< CAN Activity Interrupt */ 00088 } IRQn_Type; 00089 00090 00091 /* 00092 * ========================================================================== 00093 * ----------- Processor and Core Peripheral Section ------------------------ 00094 * ========================================================================== 00095 */ 00096 00097 /* Configuration of the Cortex-M3 Processor and Core Peripherals */ 00098 #define __MPU_PRESENT 1 /*!< MPU present or not */ 00099 #define __NVIC_PRIO_BITS 5 /*!< Number of Bits used for Priority Levels */ 00100 #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ 00101 00102 00103 #include "core_cm3.h" /* Cortex-M3 processor and core peripherals */ 00104 #include "system_LPC17xx.h" /* System Header */ 00105 00106 00107 /******************************************************************************/ 00108 /* Device Specific Peripheral registers structures */ 00109 /******************************************************************************/ 00110 00111 #if defined ( __CC_ARM ) 00112 #pragma anon_unions 00113 #endif 00114 00115 /*------------- System Control (SC) ------------------------------------------*/ 00116 /** @brief System Control (SC) register structure definition */ 00117 typedef struct 00118 { 00119 __IO uint32_t FLASHCFG; /* Flash Accelerator Module */ 00120 uint32_t RESERVED0[31]; 00121 __IO uint32_t PLL0CON; /* Clocking and Power Control */ 00122 __IO uint32_t PLL0CFG; 00123 __I uint32_t PLL0STAT; 00124 __O uint32_t PLL0FEED; 00125 uint32_t RESERVED1[4]; 00126 __IO uint32_t PLL1CON; 00127 __IO uint32_t PLL1CFG; 00128 __I uint32_t PLL1STAT; 00129 __O uint32_t PLL1FEED; 00130 uint32_t RESERVED2[4]; 00131 __IO uint32_t PCON; 00132 __IO uint32_t PCONP; 00133 uint32_t RESERVED3[15]; 00134 __IO uint32_t CCLKCFG; 00135 __IO uint32_t USBCLKCFG; 00136 __IO uint32_t CLKSRCSEL; 00137 __IO uint32_t CANSLEEPCLR; 00138 __IO uint32_t CANWAKEFLAGS; 00139 uint32_t RESERVED4[10]; 00140 __IO uint32_t EXTINT; /* External Interrupts */ 00141 uint32_t RESERVED5; 00142 __IO uint32_t EXTMODE; 00143 __IO uint32_t EXTPOLAR; 00144 uint32_t RESERVED6[12]; 00145 __IO uint32_t RSID; /* Reset */ 00146 uint32_t RESERVED7[7]; 00147 __IO uint32_t SCS; /* Syscon Miscellaneous Registers */ 00148 __IO uint32_t IRCTRIM; /* Clock Dividers */ 00149 __IO uint32_t PCLKSEL0; 00150 __IO uint32_t PCLKSEL1; 00151 uint32_t RESERVED8[4]; 00152 __IO uint32_t USBIntSt; /* USB Device/OTG Interrupt Register */ 00153 __IO uint32_t DMAREQSEL; 00154 __IO uint32_t CLKOUTCFG; /* Clock Output Configuration */ 00155 } LPC_SC_TypeDef; 00156 00157 /*------------- Pin Connect Block (PINCON) -----------------------------------*/ 00158 /** @brief Pin Connect Block (PINCON) register structure definition */ 00159 typedef struct 00160 { 00161 __IO uint32_t PINSEL0; 00162 __IO uint32_t PINSEL1; 00163 __IO uint32_t PINSEL2; 00164 __IO uint32_t PINSEL3; 00165 __IO uint32_t PINSEL4; 00166 __IO uint32_t PINSEL5; 00167 __IO uint32_t PINSEL6; 00168 __IO uint32_t PINSEL7; 00169 __IO uint32_t PINSEL8; 00170 __IO uint32_t PINSEL9; 00171 __IO uint32_t PINSEL10; 00172 uint32_t RESERVED0[5]; 00173 __IO uint32_t PINMODE0; 00174 __IO uint32_t PINMODE1; 00175 __IO uint32_t PINMODE2; 00176 __IO uint32_t PINMODE3; 00177 __IO uint32_t PINMODE4; 00178 __IO uint32_t PINMODE5; 00179 __IO uint32_t PINMODE6; 00180 __IO uint32_t PINMODE7; 00181 __IO uint32_t PINMODE8; 00182 __IO uint32_t PINMODE9; 00183 __IO uint32_t PINMODE_OD0; 00184 __IO uint32_t PINMODE_OD1; 00185 __IO uint32_t PINMODE_OD2; 00186 __IO uint32_t PINMODE_OD3; 00187 __IO uint32_t PINMODE_OD4; 00188 __IO uint32_t I2CPADCFG; 00189 } LPC_PINCON_TypeDef; 00190 00191 /*------------- General Purpose Input/Output (GPIO) --------------------------*/ 00192 /** @brief General Purpose Input/Output (GPIO) register structure definition */ 00193 typedef struct 00194 { 00195 union { 00196 __IO uint32_t FIODIR; 00197 struct { 00198 __IO uint16_t FIODIRL; 00199 __IO uint16_t FIODIRH; 00200 }; 00201 struct { 00202 __IO uint8_t FIODIR0; 00203 __IO uint8_t FIODIR1; 00204 __IO uint8_t FIODIR2; 00205 __IO uint8_t FIODIR3; 00206 }; 00207 }; 00208 uint32_t RESERVED0[3]; 00209 union { 00210 __IO uint32_t FIOMASK; 00211 struct { 00212 __IO uint16_t FIOMASKL; 00213 __IO uint16_t FIOMASKH; 00214 }; 00215 struct { 00216 __IO uint8_t FIOMASK0; 00217 __IO uint8_t FIOMASK1; 00218 __IO uint8_t FIOMASK2; 00219 __IO uint8_t FIOMASK3; 00220 }; 00221 }; 00222 union { 00223 __IO uint32_t FIOPIN; 00224 struct { 00225 __IO uint16_t FIOPINL; 00226 __IO uint16_t FIOPINH; 00227 }; 00228 struct { 00229 __IO uint8_t FIOPIN0; 00230 __IO uint8_t FIOPIN1; 00231 __IO uint8_t FIOPIN2; 00232 __IO uint8_t FIOPIN3; 00233 }; 00234 }; 00235 union { 00236 __IO uint32_t FIOSET; 00237 struct { 00238 __IO uint16_t FIOSETL; 00239 __IO uint16_t FIOSETH; 00240 }; 00241 struct { 00242 __IO uint8_t FIOSET0; 00243 __IO uint8_t FIOSET1; 00244 __IO uint8_t FIOSET2; 00245 __IO uint8_t FIOSET3; 00246 }; 00247 }; 00248 union { 00249 __O uint32_t FIOCLR; 00250 struct { 00251 __O uint16_t FIOCLRL; 00252 __O uint16_t FIOCLRH; 00253 }; 00254 struct { 00255 __O uint8_t FIOCLR0; 00256 __O uint8_t FIOCLR1; 00257 __O uint8_t FIOCLR2; 00258 __O uint8_t FIOCLR3; 00259 }; 00260 }; 00261 } LPC_GPIO_TypeDef; 00262 00263 /** @brief General Purpose Input/Output interrupt (GPIOINT) register structure definition */ 00264 typedef struct 00265 { 00266 __I uint32_t IntStatus; 00267 __I uint32_t IO0IntStatR; 00268 __I uint32_t IO0IntStatF; 00269 __O uint32_t IO0IntClr; 00270 __IO uint32_t IO0IntEnR; 00271 __IO uint32_t IO0IntEnF; 00272 uint32_t RESERVED0[3]; 00273 __I uint32_t IO2IntStatR; 00274 __I uint32_t IO2IntStatF; 00275 __O uint32_t IO2IntClr; 00276 __IO uint32_t IO2IntEnR; 00277 __IO uint32_t IO2IntEnF; 00278 } LPC_GPIOINT_TypeDef; 00279 00280 /*------------- Timer (TIM) --------------------------------------------------*/ 00281 /** @brief Timer (TIM) register structure definition */ 00282 typedef struct 00283 { 00284 __IO uint32_t IR; 00285 __IO uint32_t TCR; 00286 __IO uint32_t TC; 00287 __IO uint32_t PR; 00288 __IO uint32_t PC; 00289 __IO uint32_t MCR; 00290 __IO uint32_t MR0; 00291 __IO uint32_t MR1; 00292 __IO uint32_t MR2; 00293 __IO uint32_t MR3; 00294 __IO uint32_t CCR; 00295 __I uint32_t CR0; 00296 __I uint32_t CR1; 00297 uint32_t RESERVED0[2]; 00298 __IO uint32_t EMR; 00299 uint32_t RESERVED1[12]; 00300 __IO uint32_t CTCR; 00301 } LPC_TIM_TypeDef; 00302 00303 /*------------- Pulse-Width Modulation (PWM) ---------------------------------*/ 00304 /** @brief Pulse-Width Modulation (PWM) register structure definition */ 00305 typedef struct 00306 { 00307 __IO uint32_t IR; 00308 __IO uint32_t TCR; 00309 __IO uint32_t TC; 00310 __IO uint32_t PR; 00311 __IO uint32_t PC; 00312 __IO uint32_t MCR; 00313 __IO uint32_t MR0; 00314 __IO uint32_t MR1; 00315 __IO uint32_t MR2; 00316 __IO uint32_t MR3; 00317 __IO uint32_t CCR; 00318 __I uint32_t CR0; 00319 __I uint32_t CR1; 00320 __I uint32_t CR2; 00321 __I uint32_t CR3; 00322 uint32_t RESERVED0; 00323 __IO uint32_t MR4; 00324 __IO uint32_t MR5; 00325 __IO uint32_t MR6; 00326 __IO uint32_t PCR; 00327 __IO uint32_t LER; 00328 uint32_t RESERVED1[7]; 00329 __IO uint32_t CTCR; 00330 } LPC_PWM_TypeDef; 00331 00332 /*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/ 00333 /** @brief Universal Asynchronous Receiver Transmitter (UART) register structure definition */ 00334 typedef struct 00335 { 00336 union { 00337 __I uint8_t RBR; 00338 __O uint8_t THR; 00339 __IO uint8_t DLL; 00340 uint32_t RESERVED0; 00341 }; 00342 union { 00343 __IO uint8_t DLM; 00344 __IO uint32_t IER; 00345 }; 00346 union { 00347 __I uint32_t IIR; 00348 __O uint8_t FCR; 00349 }; 00350 __IO uint8_t LCR; 00351 uint8_t RESERVED1[7]; 00352 __I uint8_t LSR; 00353 uint8_t RESERVED2[7]; 00354 __IO uint8_t SCR; 00355 uint8_t RESERVED3[3]; 00356 __IO uint32_t ACR; 00357 __IO uint8_t ICR; 00358 uint8_t RESERVED4[3]; 00359 __IO uint8_t FDR; 00360 uint8_t RESERVED5[7]; 00361 __IO uint8_t TER; 00362 uint8_t RESERVED6[39]; 00363 __I uint8_t FIFOLVL; 00364 } LPC_UART_TypeDef; 00365 00366 /** @brief Universal Asynchronous Receiver Transmitter 0 (UART0) register structure definition */ 00367 typedef struct 00368 { 00369 union { 00370 __I uint8_t RBR; 00371 __O uint8_t THR; 00372 __IO uint8_t DLL; 00373 uint32_t RESERVED0; 00374 }; 00375 union { 00376 __IO uint8_t DLM; 00377 __IO uint32_t IER; 00378 }; 00379 union { 00380 __I uint32_t IIR; 00381 __O uint8_t FCR; 00382 }; 00383 __IO uint8_t LCR; 00384 uint8_t RESERVED1[7]; 00385 __I uint8_t LSR; 00386 uint8_t RESERVED2[7]; 00387 __IO uint8_t SCR; 00388 uint8_t RESERVED3[3]; 00389 __IO uint32_t ACR; 00390 __IO uint8_t ICR; 00391 uint8_t RESERVED4[3]; 00392 __IO uint8_t FDR; 00393 uint8_t RESERVED5[7]; 00394 __IO uint8_t TER; 00395 uint8_t RESERVED6[39]; 00396 __I uint8_t FIFOLVL; 00397 } LPC_UART0_TypeDef; 00398 00399 /** @brief Universal Asynchronous Receiver Transmitter 1 (UART1) register structure definition */ 00400 typedef struct 00401 { 00402 union { 00403 __I uint8_t RBR; 00404 __O uint8_t THR; 00405 __IO uint8_t DLL; 00406 uint32_t RESERVED0; 00407 }; 00408 union { 00409 __IO uint8_t DLM; 00410 __IO uint32_t IER; 00411 }; 00412 union { 00413 __I uint32_t IIR; 00414 __O uint8_t FCR; 00415 }; 00416 __IO uint8_t LCR; 00417 uint8_t RESERVED1[3]; 00418 __IO uint8_t MCR; 00419 uint8_t RESERVED2[3]; 00420 __I uint8_t LSR; 00421 uint8_t RESERVED3[3]; 00422 __I uint8_t MSR; 00423 uint8_t RESERVED4[3]; 00424 __IO uint8_t SCR; 00425 uint8_t RESERVED5[3]; 00426 __IO uint32_t ACR; 00427 uint32_t RESERVED6; 00428 __IO uint32_t FDR; 00429 uint32_t RESERVED7; 00430 __IO uint8_t TER; 00431 uint8_t RESERVED8[27]; 00432 __IO uint8_t RS485CTRL; 00433 uint8_t RESERVED9[3]; 00434 __IO uint8_t ADRMATCH; 00435 uint8_t RESERVED10[3]; 00436 __IO uint8_t RS485DLY; 00437 uint8_t RESERVED11[3]; 00438 __I uint8_t FIFOLVL; 00439 } LPC_UART1_TypeDef; 00440 00441 /*------------- Serial Peripheral Interface (SPI) ----------------------------*/ 00442 /** @brief Serial Peripheral Interface (SPI) register structure definition */ 00443 typedef struct 00444 { 00445 __IO uint32_t SPCR; 00446 __I uint32_t SPSR; 00447 __IO uint32_t SPDR; 00448 __IO uint32_t SPCCR; 00449 uint32_t RESERVED0[3]; 00450 __IO uint32_t SPINT; 00451 } LPC_SPI_TypeDef; 00452 00453 /*------------- Synchronous Serial Communication (SSP) -----------------------*/ 00454 /** @brief Synchronous Serial Communication (SSP) register structure definition */ 00455 typedef struct 00456 { 00457 __IO uint32_t CR0; 00458 __IO uint32_t CR1; 00459 __IO uint32_t DR; 00460 __I uint32_t SR; 00461 __IO uint32_t CPSR; 00462 __IO uint32_t IMSC; 00463 __IO uint32_t RIS; 00464 __IO uint32_t MIS; 00465 __IO uint32_t ICR; 00466 __IO uint32_t DMACR; 00467 } LPC_SSP_TypeDef; 00468 00469 /*------------- Inter-Integrated Circuit (I2C) -------------------------------*/ 00470 /** @brief Inter-Integrated Circuit (I2C) register structure definition */ 00471 typedef struct 00472 { 00473 __IO uint32_t I2CONSET; 00474 __I uint32_t I2STAT; 00475 __IO uint32_t I2DAT; 00476 __IO uint32_t I2ADR0; 00477 __IO uint32_t I2SCLH; 00478 __IO uint32_t I2SCLL; 00479 __O uint32_t I2CONCLR; 00480 __IO uint32_t MMCTRL; 00481 __IO uint32_t I2ADR1; 00482 __IO uint32_t I2ADR2; 00483 __IO uint32_t I2ADR3; 00484 __I uint32_t I2DATA_BUFFER; 00485 __IO uint32_t I2MASK0; 00486 __IO uint32_t I2MASK1; 00487 __IO uint32_t I2MASK2; 00488 __IO uint32_t I2MASK3; 00489 } LPC_I2C_TypeDef; 00490 00491 /*------------- Inter IC Sound (I2S) -----------------------------------------*/ 00492 /** @brief Inter IC Sound (I2S) register structure definition */ 00493 typedef struct 00494 { 00495 __IO uint32_t I2SDAO; 00496 __IO uint32_t I2SDAI; 00497 __O uint32_t I2STXFIFO; 00498 __I uint32_t I2SRXFIFO; 00499 __I uint32_t I2SSTATE; 00500 __IO uint32_t I2SDMA1; 00501 __IO uint32_t I2SDMA2; 00502 __IO uint32_t I2SIRQ; 00503 __IO uint32_t I2STXRATE; 00504 __IO uint32_t I2SRXRATE; 00505 __IO uint32_t I2STXBITRATE; 00506 __IO uint32_t I2SRXBITRATE; 00507 __IO uint32_t I2STXMODE; 00508 __IO uint32_t I2SRXMODE; 00509 } LPC_I2S_TypeDef; 00510 00511 /*------------- Repetitive Interrupt Timer (RIT) -----------------------------*/ 00512 /** @brief Repetitive Interrupt Timer (RIT) register structure definition */ 00513 typedef struct 00514 { 00515 __IO uint32_t RICOMPVAL; 00516 __IO uint32_t RIMASK; 00517 __IO uint8_t RICTRL; 00518 uint8_t RESERVED0[3]; 00519 __IO uint32_t RICOUNTER; 00520 } LPC_RIT_TypeDef; 00521 00522 /*------------- Real-Time Clock (RTC) ----------------------------------------*/ 00523 /** @brief Real-Time Clock (RTC) register structure definition */ 00524 typedef struct 00525 { 00526 __IO uint8_t ILR; 00527 uint8_t RESERVED0[7]; 00528 __IO uint8_t CCR; 00529 uint8_t RESERVED1[3]; 00530 __IO uint8_t CIIR; 00531 uint8_t RESERVED2[3]; 00532 __IO uint8_t AMR; 00533 uint8_t RESERVED3[3]; 00534 __I uint32_t CTIME0; 00535 __I uint32_t CTIME1; 00536 __I uint32_t CTIME2; 00537 __IO uint8_t SEC; 00538 uint8_t RESERVED4[3]; 00539 __IO uint8_t MIN; 00540 uint8_t RESERVED5[3]; 00541 __IO uint8_t HOUR; 00542 uint8_t RESERVED6[3]; 00543 __IO uint8_t DOM; 00544 uint8_t RESERVED7[3]; 00545 __IO uint8_t DOW; 00546 uint8_t RESERVED8[3]; 00547 __IO uint16_t DOY; 00548 uint16_t RESERVED9; 00549 __IO uint8_t MONTH; 00550 uint8_t RESERVED10[3]; 00551 __IO uint16_t YEAR; 00552 uint16_t RESERVED11; 00553 __IO uint32_t CALIBRATION; 00554 __IO uint32_t GPREG0; 00555 __IO uint32_t GPREG1; 00556 __IO uint32_t GPREG2; 00557 __IO uint32_t GPREG3; 00558 __IO uint32_t GPREG4; 00559 __IO uint8_t RTC_AUXEN; 00560 uint8_t RESERVED12[3]; 00561 __IO uint8_t RTC_AUX; 00562 uint8_t RESERVED13[3]; 00563 __IO uint8_t ALSEC; 00564 uint8_t RESERVED14[3]; 00565 __IO uint8_t ALMIN; 00566 uint8_t RESERVED15[3]; 00567 __IO uint8_t ALHOUR; 00568 uint8_t RESERVED16[3]; 00569 __IO uint8_t ALDOM; 00570 uint8_t RESERVED17[3]; 00571 __IO uint8_t ALDOW; 00572 uint8_t RESERVED18[3]; 00573 __IO uint16_t ALDOY; 00574 uint16_t RESERVED19; 00575 __IO uint8_t ALMON; 00576 uint8_t RESERVED20[3]; 00577 __IO uint16_t ALYEAR; 00578 uint16_t RESERVED21; 00579 } LPC_RTC_TypeDef; 00580 00581 /*------------- Watchdog Timer (WDT) -----------------------------------------*/ 00582 /** @brief Watchdog Timer (WDT) register structure definition */ 00583 typedef struct 00584 { 00585 __IO uint8_t WDMOD; 00586 uint8_t RESERVED0[3]; 00587 __IO uint32_t WDTC; 00588 __O uint8_t WDFEED; 00589 uint8_t RESERVED1[3]; 00590 __I uint32_t WDTV; 00591 __IO uint32_t WDCLKSEL; 00592 } LPC_WDT_TypeDef; 00593 00594 /*------------- Analog-to-Digital Converter (ADC) ----------------------------*/ 00595 /** @brief Analog-to-Digital Converter (ADC) register structure definition */ 00596 typedef struct 00597 { 00598 __IO uint32_t ADCR; 00599 __IO uint32_t ADGDR; 00600 uint32_t RESERVED0; 00601 __IO uint32_t ADINTEN; 00602 __I uint32_t ADDR0; 00603 __I uint32_t ADDR1; 00604 __I uint32_t ADDR2; 00605 __I uint32_t ADDR3; 00606 __I uint32_t ADDR4; 00607 __I uint32_t ADDR5; 00608 __I uint32_t ADDR6; 00609 __I uint32_t ADDR7; 00610 __I uint32_t ADSTAT; 00611 __IO uint32_t ADTRM; 00612 } LPC_ADC_TypeDef; 00613 00614 /*------------- Digital-to-Analog Converter (DAC) ----------------------------*/ 00615 /** @brief Digital-to-Analog Converter (DAC) register structure definition */ 00616 typedef struct 00617 { 00618 __IO uint32_t DACR; 00619 __IO uint32_t DACCTRL; 00620 __IO uint16_t DACCNTVAL; 00621 } LPC_DAC_TypeDef; 00622 00623 /*------------- Motor Control Pulse-Width Modulation (MCPWM) -----------------*/ 00624 /** @brief Motor Control Pulse-Width Modulation (MCPWM) register structure definition */ 00625 typedef struct 00626 { 00627 __I uint32_t MCCON; 00628 __O uint32_t MCCON_SET; 00629 __O uint32_t MCCON_CLR; 00630 __I uint32_t MCCAPCON; 00631 __O uint32_t MCCAPCON_SET; 00632 __O uint32_t MCCAPCON_CLR; 00633 __IO uint32_t MCTIM0; 00634 __IO uint32_t MCTIM1; 00635 __IO uint32_t MCTIM2; 00636 __IO uint32_t MCPER0; 00637 __IO uint32_t MCPER1; 00638 __IO uint32_t MCPER2; 00639 __IO uint32_t MCPW0; 00640 __IO uint32_t MCPW1; 00641 __IO uint32_t MCPW2; 00642 __IO uint32_t MCDEADTIME; 00643 __IO uint32_t MCCCP; 00644 __IO uint32_t MCCR0; 00645 __IO uint32_t MCCR1; 00646 __IO uint32_t MCCR2; 00647 __I uint32_t MCINTEN; 00648 __O uint32_t MCINTEN_SET; 00649 __O uint32_t MCINTEN_CLR; 00650 __I uint32_t MCCNTCON; 00651 __O uint32_t MCCNTCON_SET; 00652 __O uint32_t MCCNTCON_CLR; 00653 __I uint32_t MCINTFLAG; 00654 __O uint32_t MCINTFLAG_SET; 00655 __O uint32_t MCINTFLAG_CLR; 00656 __O uint32_t MCCAP_CLR; 00657 } LPC_MCPWM_TypeDef; 00658 00659 /*------------- Quadrature Encoder Interface (QEI) ---------------------------*/ 00660 /** @brief Quadrature Encoder Interface (QEI) register structure definition */ 00661 typedef struct 00662 { 00663 __O uint32_t QEICON; 00664 __I uint32_t QEISTAT; 00665 __IO uint32_t QEICONF; 00666 __I uint32_t QEIPOS; 00667 __IO uint32_t QEIMAXPOS; 00668 __IO uint32_t CMPOS0; 00669 __IO uint32_t CMPOS1; 00670 __IO uint32_t CMPOS2; 00671 __I uint32_t INXCNT; 00672 __IO uint32_t INXCMP; 00673 __IO uint32_t QEILOAD; 00674 __I uint32_t QEITIME; 00675 __I uint32_t QEIVEL; 00676 __I uint32_t QEICAP; 00677 __IO uint32_t VELCOMP; 00678 __IO uint32_t FILTER; 00679 uint32_t RESERVED0[998]; 00680 __O uint32_t QEIIEC; 00681 __O uint32_t QEIIES; 00682 __I uint32_t QEIINTSTAT; 00683 __I uint32_t QEIIE; 00684 __O uint32_t QEICLR; 00685 __O uint32_t QEISET; 00686 } LPC_QEI_TypeDef; 00687 00688 /*------------- Controller Area Network (CAN) --------------------------------*/ 00689 /** @brief Controller Area Network Acceptance Filter RAM (CANAF_RAM)structure definition */ 00690 typedef struct 00691 { 00692 __IO uint32_t mask[512]; /* ID Masks */ 00693 } LPC_CANAF_RAM_TypeDef; 00694 00695 /** @brief Controller Area Network Acceptance Filter(CANAF) register structure definition */ 00696 typedef struct /* Acceptance Filter Registers */ 00697 { 00698 __IO uint32_t AFMR; 00699 __IO uint32_t SFF_sa; 00700 __IO uint32_t SFF_GRP_sa; 00701 __IO uint32_t EFF_sa; 00702 __IO uint32_t EFF_GRP_sa; 00703 __IO uint32_t ENDofTable; 00704 __I uint32_t LUTerrAd; 00705 __I uint32_t LUTerr; 00706 __IO uint32_t FCANIE; 00707 __IO uint32_t FCANIC0; 00708 __IO uint32_t FCANIC1; 00709 } LPC_CANAF_TypeDef; 00710 00711 /** @brief Controller Area Network Central (CANCR) register structure definition */ 00712 typedef struct /* Central Registers */ 00713 { 00714 __I uint32_t CANTxSR; 00715 __I uint32_t CANRxSR; 00716 __I uint32_t CANMSR; 00717 } LPC_CANCR_TypeDef; 00718 00719 /** @brief Controller Area Network Controller (CAN) register structure definition */ 00720 typedef struct /* Controller Registers */ 00721 { 00722 __IO uint32_t MOD; 00723 __O uint32_t CMR; 00724 __IO uint32_t GSR; 00725 __I uint32_t ICR; 00726 __IO uint32_t IER; 00727 __IO uint32_t BTR; 00728 __IO uint32_t EWL; 00729 __I uint32_t SR; 00730 __IO uint32_t RFS; 00731 __IO uint32_t RID; 00732 __IO uint32_t RDA; 00733 __IO uint32_t RDB; 00734 __IO uint32_t TFI1; 00735 __IO uint32_t TID1; 00736 __IO uint32_t TDA1; 00737 __IO uint32_t TDB1; 00738 __IO uint32_t TFI2; 00739 __IO uint32_t TID2; 00740 __IO uint32_t TDA2; 00741 __IO uint32_t TDB2; 00742 __IO uint32_t TFI3; 00743 __IO uint32_t TID3; 00744 __IO uint32_t TDA3; 00745 __IO uint32_t TDB3; 00746 } LPC_CAN_TypeDef; 00747 00748 /*------------- General Purpose Direct Memory Access (GPDMA) -----------------*/ 00749 /** @brief General Purpose Direct Memory Access (GPDMA) register structure definition */ 00750 typedef struct /* Common Registers */ 00751 { 00752 __I uint32_t DMACIntStat; 00753 __I uint32_t DMACIntTCStat; 00754 __O uint32_t DMACIntTCClear; 00755 __I uint32_t DMACIntErrStat; 00756 __O uint32_t DMACIntErrClr; 00757 __I uint32_t DMACRawIntTCStat; 00758 __I uint32_t DMACRawIntErrStat; 00759 __I uint32_t DMACEnbldChns; 00760 __IO uint32_t DMACSoftBReq; 00761 __IO uint32_t DMACSoftSReq; 00762 __IO uint32_t DMACSoftLBReq; 00763 __IO uint32_t DMACSoftLSReq; 00764 __IO uint32_t DMACConfig; 00765 __IO uint32_t DMACSync; 00766 } LPC_GPDMA_TypeDef; 00767 00768 /** @brief General Purpose Direct Memory Access Channel (GPDMACH) register structure definition */ 00769 typedef struct /* Channel Registers */ 00770 { 00771 __IO uint32_t DMACCSrcAddr; 00772 __IO uint32_t DMACCDestAddr; 00773 __IO uint32_t DMACCLLI; 00774 __IO uint32_t DMACCControl; 00775 __IO uint32_t DMACCConfig; 00776 } LPC_GPDMACH_TypeDef; 00777 00778 /*------------- Universal Serial Bus (USB) -----------------------------------*/ 00779 /** @brief Universal Serial Bus (USB) register structure definition */ 00780 typedef struct 00781 { 00782 __I uint32_t HcRevision; /* USB Host Registers */ 00783 __IO uint32_t HcControl; 00784 __IO uint32_t HcCommandStatus; 00785 __IO uint32_t HcInterruptStatus; 00786 __IO uint32_t HcInterruptEnable; 00787 __IO uint32_t HcInterruptDisable; 00788 __IO uint32_t HcHCCA; 00789 __I uint32_t HcPeriodCurrentED; 00790 __IO uint32_t HcControlHeadED; 00791 __IO uint32_t HcControlCurrentED; 00792 __IO uint32_t HcBulkHeadED; 00793 __IO uint32_t HcBulkCurrentED; 00794 __I uint32_t HcDoneHead; 00795 __IO uint32_t HcFmInterval; 00796 __I uint32_t HcFmRemaining; 00797 __I uint32_t HcFmNumber; 00798 __IO uint32_t HcPeriodicStart; 00799 __IO uint32_t HcLSTreshold; 00800 __IO uint32_t HcRhDescriptorA; 00801 __IO uint32_t HcRhDescriptorB; 00802 __IO uint32_t HcRhStatus; 00803 __IO uint32_t HcRhPortStatus1; 00804 __IO uint32_t HcRhPortStatus2; 00805 uint32_t RESERVED0[40]; 00806 __I uint32_t Module_ID; 00807 00808 __I uint32_t OTGIntSt; /* USB On-The-Go Registers */ 00809 __IO uint32_t OTGIntEn; 00810 __O uint32_t OTGIntSet; 00811 __O uint32_t OTGIntClr; 00812 __IO uint32_t OTGStCtrl; 00813 __IO uint32_t OTGTmr; 00814 uint32_t RESERVED1[58]; 00815 00816 __I uint32_t USBDevIntSt; /* USB Device Interrupt Registers */ 00817 __IO uint32_t USBDevIntEn; 00818 __O uint32_t USBDevIntClr; 00819 __O uint32_t USBDevIntSet; 00820 00821 __O uint32_t USBCmdCode; /* USB Device SIE Command Registers */ 00822 __I uint32_t USBCmdData; 00823 00824 __I uint32_t USBRxData; /* USB Device Transfer Registers */ 00825 __O uint32_t USBTxData; 00826 __I uint32_t USBRxPLen; 00827 __O uint32_t USBTxPLen; 00828 __IO uint32_t USBCtrl; 00829 __O uint32_t USBDevIntPri; 00830 00831 __I uint32_t USBEpIntSt; /* USB Device Endpoint Interrupt Regs */ 00832 __IO uint32_t USBEpIntEn; 00833 __O uint32_t USBEpIntClr; 00834 __O uint32_t USBEpIntSet; 00835 __O uint32_t USBEpIntPri; 00836 00837 __IO uint32_t USBReEp; /* USB Device Endpoint Realization Reg*/ 00838 __O uint32_t USBEpInd; 00839 __IO uint32_t USBMaxPSize; 00840 00841 __I uint32_t USBDMARSt; /* USB Device DMA Registers */ 00842 __O uint32_t USBDMARClr; 00843 __O uint32_t USBDMARSet; 00844 uint32_t RESERVED2[9]; 00845 __IO uint32_t USBUDCAH; 00846 __I uint32_t USBEpDMASt; 00847 __O uint32_t USBEpDMAEn; 00848 __O uint32_t USBEpDMADis; 00849 __I uint32_t USBDMAIntSt; 00850 __IO uint32_t USBDMAIntEn; 00851 uint32_t RESERVED3[2]; 00852 __I uint32_t USBEoTIntSt; 00853 __O uint32_t USBEoTIntClr; 00854 __O uint32_t USBEoTIntSet; 00855 __I uint32_t USBNDDRIntSt; 00856 __O uint32_t USBNDDRIntClr; 00857 __O uint32_t USBNDDRIntSet; 00858 __I uint32_t USBSysErrIntSt; 00859 __O uint32_t USBSysErrIntClr; 00860 __O uint32_t USBSysErrIntSet; 00861 uint32_t RESERVED4[15]; 00862 00863 union { 00864 __I uint32_t I2C_RX; /* USB OTG I2C Registers */ 00865 __O uint32_t I2C_TX; 00866 }; 00867 __I uint32_t I2C_STS; 00868 __IO uint32_t I2C_CTL; 00869 __IO uint32_t I2C_CLKHI; 00870 __O uint32_t I2C_CLKLO; 00871 uint32_t RESERVED5[824]; 00872 00873 union { 00874 __IO uint32_t USBClkCtrl; /* USB Clock Control Registers */ 00875 __IO uint32_t OTGClkCtrl; 00876 }; 00877 union { 00878 __I uint32_t USBClkSt; 00879 __I uint32_t OTGClkSt; 00880 }; 00881 } LPC_USB_TypeDef; 00882 00883 /*------------- Ethernet Media Access Controller (EMAC) ----------------------*/ 00884 /** @brief Ethernet Media Access Controller (EMAC) register structure definition */ 00885 typedef struct 00886 { 00887 __IO uint32_t MAC1; /* MAC Registers */ 00888 __IO uint32_t MAC2; 00889 __IO uint32_t IPGT; 00890 __IO uint32_t IPGR; 00891 __IO uint32_t CLRT; 00892 __IO uint32_t MAXF; 00893 __IO uint32_t SUPP; 00894 __IO uint32_t TEST; 00895 __IO uint32_t MCFG; 00896 __IO uint32_t MCMD; 00897 __IO uint32_t MADR; 00898 __O uint32_t MWTD; 00899 __I uint32_t MRDD; 00900 __I uint32_t MIND; 00901 uint32_t RESERVED0[2]; 00902 __IO uint32_t SA0; 00903 __IO uint32_t SA1; 00904 __IO uint32_t SA2; 00905 uint32_t RESERVED1[45]; 00906 __IO uint32_t Command; /* Control Registers */ 00907 __I uint32_t Status; 00908 __IO uint32_t RxDescriptor; 00909 __IO uint32_t RxStatus; 00910 __IO uint32_t RxDescriptorNumber; 00911 __I uint32_t RxProduceIndex; 00912 __IO uint32_t RxConsumeIndex; 00913 __IO uint32_t TxDescriptor; 00914 __IO uint32_t TxStatus; 00915 __IO uint32_t TxDescriptorNumber; 00916 __IO uint32_t TxProduceIndex; 00917 __I uint32_t TxConsumeIndex; 00918 uint32_t RESERVED2[10]; 00919 __I uint32_t TSV0; 00920 __I uint32_t TSV1; 00921 __I uint32_t RSV; 00922 uint32_t RESERVED3[3]; 00923 __IO uint32_t FlowControlCounter; 00924 __I uint32_t FlowControlStatus; 00925 uint32_t RESERVED4[34]; 00926 __IO uint32_t RxFilterCtrl; /* Rx Filter Registers */ 00927 __IO uint32_t RxFilterWoLStatus; 00928 __IO uint32_t RxFilterWoLClear; 00929 uint32_t RESERVED5; 00930 __IO uint32_t HashFilterL; 00931 __IO uint32_t HashFilterH; 00932 uint32_t RESERVED6[882]; 00933 __I uint32_t IntStatus; /* Module Control Registers */ 00934 __IO uint32_t IntEnable; 00935 __O uint32_t IntClear; 00936 __O uint32_t IntSet; 00937 uint32_t RESERVED7; 00938 __IO uint32_t PowerDown; 00939 uint32_t RESERVED8; 00940 __IO uint32_t Module_ID; 00941 } LPC_EMAC_TypeDef; 00942 00943 00944 #if defined ( __CC_ARM ) 00945 #pragma no_anon_unions 00946 #endif 00947 00948 00949 /******************************************************************************/ 00950 /* Peripheral memory map */ 00951 /******************************************************************************/ 00952 /* Base addresses */ 00953 #define LPC_FLASH_BASE (0x00000000UL) 00954 #define LPC_RAM_BASE (0x10000000UL) 00955 #ifdef __LPC17XX_REV00 00956 #define LPC_AHBRAM0_BASE (0x20000000UL) 00957 #define LPC_AHBRAM1_BASE (0x20004000UL) 00958 #else 00959 #define LPC_AHBRAM0_BASE (0x2007C000UL) 00960 #define LPC_AHBRAM1_BASE (0x20080000UL) 00961 #endif 00962 #define LPC_GPIO_BASE (0x2009C000UL) 00963 #define LPC_APB0_BASE (0x40000000UL) 00964 #define LPC_APB1_BASE (0x40080000UL) 00965 #define LPC_AHB_BASE (0x50000000UL) 00966 #define LPC_CM3_BASE (0xE0000000UL) 00967 00968 /* APB0 peripherals */ 00969 #define LPC_WDT_BASE (LPC_APB0_BASE + 0x00000) 00970 #define LPC_TIM0_BASE (LPC_APB0_BASE + 0x04000) 00971 #define LPC_TIM1_BASE (LPC_APB0_BASE + 0x08000) 00972 #define LPC_UART0_BASE (LPC_APB0_BASE + 0x0C000) 00973 #define LPC_UART1_BASE (LPC_APB0_BASE + 0x10000) 00974 #define LPC_PWM1_BASE (LPC_APB0_BASE + 0x18000) 00975 #define LPC_I2C0_BASE (LPC_APB0_BASE + 0x1C000) 00976 #define LPC_SPI_BASE (LPC_APB0_BASE + 0x20000) 00977 #define LPC_RTC_BASE (LPC_APB0_BASE + 0x24000) 00978 #define LPC_GPIOINT_BASE (LPC_APB0_BASE + 0x28080) 00979 #define LPC_PINCON_BASE (LPC_APB0_BASE + 0x2C000) 00980 #define LPC_SSP1_BASE (LPC_APB0_BASE + 0x30000) 00981 #define LPC_ADC_BASE (LPC_APB0_BASE + 0x34000) 00982 #define LPC_CANAF_RAM_BASE (LPC_APB0_BASE + 0x38000) 00983 #define LPC_CANAF_BASE (LPC_APB0_BASE + 0x3C000) 00984 #define LPC_CANCR_BASE (LPC_APB0_BASE + 0x40000) 00985 #define LPC_CAN1_BASE (LPC_APB0_BASE + 0x44000) 00986 #define LPC_CAN2_BASE (LPC_APB0_BASE + 0x48000) 00987 #define LPC_I2C1_BASE (LPC_APB0_BASE + 0x5C000) 00988 00989 /* APB1 peripherals */ 00990 #define LPC_SSP0_BASE (LPC_APB1_BASE + 0x08000) 00991 #define LPC_DAC_BASE (LPC_APB1_BASE + 0x0C000) 00992 #define LPC_TIM2_BASE (LPC_APB1_BASE + 0x10000) 00993 #define LPC_TIM3_BASE (LPC_APB1_BASE + 0x14000) 00994 #define LPC_UART2_BASE (LPC_APB1_BASE + 0x18000) 00995 #define LPC_UART3_BASE (LPC_APB1_BASE + 0x1C000) 00996 #define LPC_I2C2_BASE (LPC_APB1_BASE + 0x20000) 00997 #define LPC_I2S_BASE (LPC_APB1_BASE + 0x28000) 00998 #define LPC_RIT_BASE (LPC_APB1_BASE + 0x30000) 00999 #define LPC_MCPWM_BASE (LPC_APB1_BASE + 0x38000) 01000 #define LPC_QEI_BASE (LPC_APB1_BASE + 0x3C000) 01001 #define LPC_SC_BASE (LPC_APB1_BASE + 0x7C000) 01002 01003 /* AHB peripherals */ 01004 #define LPC_EMAC_BASE (LPC_AHB_BASE + 0x00000) 01005 #define LPC_GPDMA_BASE (LPC_AHB_BASE + 0x04000) 01006 #define LPC_GPDMACH0_BASE (LPC_AHB_BASE + 0x04100) 01007 #define LPC_GPDMACH1_BASE (LPC_AHB_BASE + 0x04120) 01008 #define LPC_GPDMACH2_BASE (LPC_AHB_BASE + 0x04140) 01009 #define LPC_GPDMACH3_BASE (LPC_AHB_BASE + 0x04160) 01010 #define LPC_GPDMACH4_BASE (LPC_AHB_BASE + 0x04180) 01011 #define LPC_GPDMACH5_BASE (LPC_AHB_BASE + 0x041A0) 01012 #define LPC_GPDMACH6_BASE (LPC_AHB_BASE + 0x041C0) 01013 #define LPC_GPDMACH7_BASE (LPC_AHB_BASE + 0x041E0) 01014 #define LPC_USB_BASE (LPC_AHB_BASE + 0x0C000) 01015 01016 /* GPIOs */ 01017 #define LPC_GPIO0_BASE (LPC_GPIO_BASE + 0x00000) 01018 #define LPC_GPIO1_BASE (LPC_GPIO_BASE + 0x00020) 01019 #define LPC_GPIO2_BASE (LPC_GPIO_BASE + 0x00040) 01020 #define LPC_GPIO3_BASE (LPC_GPIO_BASE + 0x00060) 01021 #define LPC_GPIO4_BASE (LPC_GPIO_BASE + 0x00080) 01022 01023 /******************************************************************************/ 01024 /* Peripheral declaration */ 01025 /******************************************************************************/ 01026 #define LPC_SC ((LPC_SC_TypeDef *) LPC_SC_BASE ) 01027 #define LPC_GPIO0 ((LPC_GPIO_TypeDef *) LPC_GPIO0_BASE ) 01028 #define LPC_GPIO1 ((LPC_GPIO_TypeDef *) LPC_GPIO1_BASE ) 01029 #define LPC_GPIO2 ((LPC_GPIO_TypeDef *) LPC_GPIO2_BASE ) 01030 #define LPC_GPIO3 ((LPC_GPIO_TypeDef *) LPC_GPIO3_BASE ) 01031 #define LPC_GPIO4 ((LPC_GPIO_TypeDef *) LPC_GPIO4_BASE ) 01032 #define LPC_WDT ((LPC_WDT_TypeDef *) LPC_WDT_BASE ) 01033 #define LPC_TIM0 ((LPC_TIM_TypeDef *) LPC_TIM0_BASE ) 01034 #define LPC_TIM1 ((LPC_TIM_TypeDef *) LPC_TIM1_BASE ) 01035 #define LPC_TIM2 ((LPC_TIM_TypeDef *) LPC_TIM2_BASE ) 01036 #define LPC_TIM3 ((LPC_TIM_TypeDef *) LPC_TIM3_BASE ) 01037 #define LPC_RIT ((LPC_RIT_TypeDef *) LPC_RIT_BASE ) 01038 #define LPC_UART0 ((LPC_UART_TypeDef *) LPC_UART0_BASE ) 01039 #define LPC_UART1 ((LPC_UART1_TypeDef *) LPC_UART1_BASE ) 01040 #define LPC_UART2 ((LPC_UART_TypeDef *) LPC_UART2_BASE ) 01041 #define LPC_UART3 ((LPC_UART_TypeDef *) LPC_UART3_BASE ) 01042 #define LPC_PWM1 ((LPC_PWM_TypeDef *) LPC_PWM1_BASE ) 01043 #define LPC_I2C0 ((LPC_I2C_TypeDef *) LPC_I2C0_BASE ) 01044 #define LPC_I2C1 ((LPC_I2C_TypeDef *) LPC_I2C1_BASE ) 01045 #define LPC_I2C2 ((LPC_I2C_TypeDef *) LPC_I2C2_BASE ) 01046 #define LPC_I2S ((LPC_I2S_TypeDef *) LPC_I2S_BASE ) 01047 #define LPC_SPI ((LPC_SPI_TypeDef *) LPC_SPI_BASE ) 01048 #define LPC_RTC ((LPC_RTC_TypeDef *) LPC_RTC_BASE ) 01049 #define LPC_GPIOINT ((LPC_GPIOINT_TypeDef *) LPC_GPIOINT_BASE ) 01050 #define LPC_PINCON ((LPC_PINCON_TypeDef *) LPC_PINCON_BASE ) 01051 #define LPC_SSP0 ((LPC_SSP_TypeDef *) LPC_SSP0_BASE ) 01052 #define LPC_SSP1 ((LPC_SSP_TypeDef *) LPC_SSP1_BASE ) 01053 #define LPC_ADC ((LPC_ADC_TypeDef *) LPC_ADC_BASE ) 01054 #define LPC_DAC ((LPC_DAC_TypeDef *) LPC_DAC_BASE ) 01055 #define LPC_CANAF_RAM ((LPC_CANAF_RAM_TypeDef *) LPC_CANAF_RAM_BASE) 01056 #define LPC_CANAF ((LPC_CANAF_TypeDef *) LPC_CANAF_BASE ) 01057 #define LPC_CANCR ((LPC_CANCR_TypeDef *) LPC_CANCR_BASE ) 01058 #define LPC_CAN1 ((LPC_CAN_TypeDef *) LPC_CAN1_BASE ) 01059 #define LPC_CAN2 ((LPC_CAN_TypeDef *) LPC_CAN2_BASE ) 01060 #define LPC_MCPWM ((LPC_MCPWM_TypeDef *) LPC_MCPWM_BASE ) 01061 #define LPC_QEI ((LPC_QEI_TypeDef *) LPC_QEI_BASE ) 01062 #define LPC_EMAC ((LPC_EMAC_TypeDef *) LPC_EMAC_BASE ) 01063 #define LPC_GPDMA ((LPC_GPDMA_TypeDef *) LPC_GPDMA_BASE ) 01064 #define DMAREQSEL (*(__IO uint32_t *) ( 0x4000C1C4)) 01065 #define LPC_GPDMACH0 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH0_BASE ) 01066 #define LPC_GPDMACH1 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH1_BASE ) 01067 #define LPC_GPDMACH2 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH2_BASE ) 01068 #define LPC_GPDMACH3 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH3_BASE ) 01069 #define LPC_GPDMACH4 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH4_BASE ) 01070 #define LPC_GPDMACH5 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH5_BASE ) 01071 #define LPC_GPDMACH6 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH6_BASE ) 01072 #define LPC_GPDMACH7 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH7_BASE ) 01073 #define LPC_USB ((LPC_USB_TypeDef *) LPC_USB_BASE ) 01074 01075 /** 01076 * @} 01077 */ 01078 01079 #endif // __LPC17xx_H__
Generated on Wed Jul 13 2022 21:13:12 by
1.7.2