mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
emilmont
Date:
Fri Jun 14 17:49:17 2013 +0100
Revision:
10:3bc89ef62ce7
Unify mbed library sources

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 10:3bc89ef62ce7 1
emilmont 10:3bc89ef62ce7 2 /****************************************************************************************************//**
emilmont 10:3bc89ef62ce7 3 * @file LPC11Uxx.h
emilmont 10:3bc89ef62ce7 4 *
emilmont 10:3bc89ef62ce7 5 *
emilmont 10:3bc89ef62ce7 6 * @brief CMSIS Cortex-M0 Core Peripheral Access Layer Header File for
emilmont 10:3bc89ef62ce7 7 * default LPC11Uxx Device Series
emilmont 10:3bc89ef62ce7 8 *
emilmont 10:3bc89ef62ce7 9 * @version V0.1
emilmont 10:3bc89ef62ce7 10 * @date 21. March 2011
emilmont 10:3bc89ef62ce7 11 *
emilmont 10:3bc89ef62ce7 12 * @note Generated with SFDGen V2.6 Build 3j (beta) on Thursday, 17.03.2011 13:19:45
emilmont 10:3bc89ef62ce7 13 *
emilmont 10:3bc89ef62ce7 14 * from CMSIS SVD File 'LPC11U1x_svd.xml' Version 0.1,
emilmont 10:3bc89ef62ce7 15 * created on Wednesday, 16.03.2011 20:30:42, last modified on Thursday, 17.03.2011 20:19:40
emilmont 10:3bc89ef62ce7 16 *
emilmont 10:3bc89ef62ce7 17 *******************************************************************************************************/
emilmont 10:3bc89ef62ce7 18
emilmont 10:3bc89ef62ce7 19 // ################################################################################
emilmont 10:3bc89ef62ce7 20 // Minor fix 8 April 2011 - changed LPC_CT32B1_BASE from 0x40014000 to 0x40018000
emilmont 10:3bc89ef62ce7 21 // ################################################################################
emilmont 10:3bc89ef62ce7 22
emilmont 10:3bc89ef62ce7 23 /** @addtogroup NXP
emilmont 10:3bc89ef62ce7 24 * @{
emilmont 10:3bc89ef62ce7 25 */
emilmont 10:3bc89ef62ce7 26
emilmont 10:3bc89ef62ce7 27 /** @addtogroup LPC11Uxx
emilmont 10:3bc89ef62ce7 28 * @{
emilmont 10:3bc89ef62ce7 29 */
emilmont 10:3bc89ef62ce7 30
emilmont 10:3bc89ef62ce7 31 #ifndef __LPC11UXX_H__
emilmont 10:3bc89ef62ce7 32 #define __LPC11UXX_H__
emilmont 10:3bc89ef62ce7 33
emilmont 10:3bc89ef62ce7 34 #ifdef __cplusplus
emilmont 10:3bc89ef62ce7 35 extern "C" {
emilmont 10:3bc89ef62ce7 36 #endif
emilmont 10:3bc89ef62ce7 37
emilmont 10:3bc89ef62ce7 38
emilmont 10:3bc89ef62ce7 39 #if defined ( __CC_ARM )
emilmont 10:3bc89ef62ce7 40 #pragma anon_unions
emilmont 10:3bc89ef62ce7 41 #endif
emilmont 10:3bc89ef62ce7 42
emilmont 10:3bc89ef62ce7 43 /* Interrupt Number Definition */
emilmont 10:3bc89ef62ce7 44
emilmont 10:3bc89ef62ce7 45 typedef enum {
emilmont 10:3bc89ef62ce7 46 // ------------------------- Cortex-M0 Processor Exceptions Numbers -----------------------------
emilmont 10:3bc89ef62ce7 47 Reset_IRQn = -15, /*!< 1 Reset Vector, invoked on Power up and warm reset */
emilmont 10:3bc89ef62ce7 48 NonMaskableInt_IRQn = -14, /*!< 2 Non maskable Interrupt, cannot be stopped or preempted */
emilmont 10:3bc89ef62ce7 49 HardFault_IRQn = -13, /*!< 3 Hard Fault, all classes of Fault */
emilmont 10:3bc89ef62ce7 50 SVCall_IRQn = -5, /*!< 11 System Service Call via SVC instruction */
emilmont 10:3bc89ef62ce7 51 DebugMonitor_IRQn = -4, /*!< 12 Debug Monitor */
emilmont 10:3bc89ef62ce7 52 PendSV_IRQn = -2, /*!< 14 Pendable request for system service */
emilmont 10:3bc89ef62ce7 53 SysTick_IRQn = -1, /*!< 15 System Tick Timer */
emilmont 10:3bc89ef62ce7 54 // --------------------------- LPC11Uxx Specific Interrupt Numbers ------------------------------
emilmont 10:3bc89ef62ce7 55 FLEX_INT0_IRQn = 0, /*!< All I/O pins can be routed to below 8 interrupts. */
emilmont 10:3bc89ef62ce7 56 FLEX_INT1_IRQn = 1,
emilmont 10:3bc89ef62ce7 57 FLEX_INT2_IRQn = 2,
emilmont 10:3bc89ef62ce7 58 FLEX_INT3_IRQn = 3,
emilmont 10:3bc89ef62ce7 59 FLEX_INT4_IRQn = 4,
emilmont 10:3bc89ef62ce7 60 FLEX_INT5_IRQn = 5,
emilmont 10:3bc89ef62ce7 61 FLEX_INT6_IRQn = 6,
emilmont 10:3bc89ef62ce7 62 FLEX_INT7_IRQn = 7,
emilmont 10:3bc89ef62ce7 63 GINT0_IRQn = 8, /*!< Grouped Interrupt 0 */
emilmont 10:3bc89ef62ce7 64 GINT1_IRQn = 9, /*!< Grouped Interrupt 1 */
emilmont 10:3bc89ef62ce7 65 Reserved0_IRQn = 10, /*!< Reserved Interrupt */
emilmont 10:3bc89ef62ce7 66 Reserved1_IRQn = 11,
emilmont 10:3bc89ef62ce7 67 Reserved2_IRQn = 12,
emilmont 10:3bc89ef62ce7 68 Reserved3_IRQn = 13,
emilmont 10:3bc89ef62ce7 69 SSP1_IRQn = 14, /*!< SSP1 Interrupt */
emilmont 10:3bc89ef62ce7 70 I2C_IRQn = 15, /*!< I2C Interrupt */
emilmont 10:3bc89ef62ce7 71 TIMER_16_0_IRQn = 16, /*!< 16-bit Timer0 Interrupt */
emilmont 10:3bc89ef62ce7 72 TIMER_16_1_IRQn = 17, /*!< 16-bit Timer1 Interrupt */
emilmont 10:3bc89ef62ce7 73 TIMER_32_0_IRQn = 18, /*!< 32-bit Timer0 Interrupt */
emilmont 10:3bc89ef62ce7 74 TIMER_32_1_IRQn = 19, /*!< 32-bit Timer1 Interrupt */
emilmont 10:3bc89ef62ce7 75 SSP0_IRQn = 20, /*!< SSP0 Interrupt */
emilmont 10:3bc89ef62ce7 76 UART_IRQn = 21, /*!< UART Interrupt */
emilmont 10:3bc89ef62ce7 77 USB_IRQn = 22, /*!< USB IRQ Interrupt */
emilmont 10:3bc89ef62ce7 78 USB_FIQn = 23, /*!< USB FIQ Interrupt */
emilmont 10:3bc89ef62ce7 79 ADC_IRQn = 24, /*!< A/D Converter Interrupt */
emilmont 10:3bc89ef62ce7 80 WDT_IRQn = 25, /*!< Watchdog timer Interrupt */
emilmont 10:3bc89ef62ce7 81 BOD_IRQn = 26, /*!< Brown Out Detect(BOD) Interrupt */
emilmont 10:3bc89ef62ce7 82 FMC_IRQn = 27, /*!< Flash Memory Controller Interrupt */
emilmont 10:3bc89ef62ce7 83 Reserved4_IRQn = 28, /*!< Reserved Interrupt */
emilmont 10:3bc89ef62ce7 84 Reserved5_IRQn = 29, /*!< Reserved Interrupt */
emilmont 10:3bc89ef62ce7 85 USBWakeup_IRQn = 30, /*!< USB wakeup Interrupt */
emilmont 10:3bc89ef62ce7 86 Reserved6_IRQn = 31, /*!< Reserved Interrupt */
emilmont 10:3bc89ef62ce7 87 } IRQn_Type;
emilmont 10:3bc89ef62ce7 88
emilmont 10:3bc89ef62ce7 89
emilmont 10:3bc89ef62ce7 90 /** @addtogroup Configuration_of_CMSIS
emilmont 10:3bc89ef62ce7 91 * @{
emilmont 10:3bc89ef62ce7 92 */
emilmont 10:3bc89ef62ce7 93
emilmont 10:3bc89ef62ce7 94 /* Processor and Core Peripheral Section */ /* Configuration of the Cortex-M0 Processor and Core Peripherals */
emilmont 10:3bc89ef62ce7 95
emilmont 10:3bc89ef62ce7 96 #define __MPU_PRESENT 0 /*!< MPU present or not */
emilmont 10:3bc89ef62ce7 97 #define __NVIC_PRIO_BITS 3 /*!< Number of Bits used for Priority Levels */
emilmont 10:3bc89ef62ce7 98 #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
emilmont 10:3bc89ef62ce7 99 /** @} */ /* End of group Configuration_of_CMSIS */
emilmont 10:3bc89ef62ce7 100
emilmont 10:3bc89ef62ce7 101 #include "core_cm0.h" /*!< Cortex-M0 processor and core peripherals */
emilmont 10:3bc89ef62ce7 102 #include "system_LPC11Uxx.h" /*!< LPC11Uxx System */
emilmont 10:3bc89ef62ce7 103
emilmont 10:3bc89ef62ce7 104 /** @addtogroup Device_Peripheral_Registers
emilmont 10:3bc89ef62ce7 105 * @{
emilmont 10:3bc89ef62ce7 106 */
emilmont 10:3bc89ef62ce7 107
emilmont 10:3bc89ef62ce7 108
emilmont 10:3bc89ef62ce7 109 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 110 // ----- I2C -----
emilmont 10:3bc89ef62ce7 111 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 112
emilmont 10:3bc89ef62ce7 113
emilmont 10:3bc89ef62ce7 114 /**
emilmont 10:3bc89ef62ce7 115 * @brief Product name title=UM10462 Chapter title=LPC11U1x I2C-bus controller Modification date=3/16/2011 Major revision=0 Minor revision=3 (I2C)
emilmont 10:3bc89ef62ce7 116 */
emilmont 10:3bc89ef62ce7 117
emilmont 10:3bc89ef62ce7 118 typedef struct { /*!< (@ 0x40000000) I2C Structure */
emilmont 10:3bc89ef62ce7 119 __IO uint32_t CONSET; /*!< (@ 0x40000000) I2C Control Set Register */
emilmont 10:3bc89ef62ce7 120 __I uint32_t STAT; /*!< (@ 0x40000004) I2C Status Register */
emilmont 10:3bc89ef62ce7 121 __IO uint32_t DAT; /*!< (@ 0x40000008) I2C Data Register. */
emilmont 10:3bc89ef62ce7 122 __IO uint32_t ADR0; /*!< (@ 0x4000000C) I2C Slave Address Register 0 */
emilmont 10:3bc89ef62ce7 123 __IO uint32_t SCLH; /*!< (@ 0x40000010) SCH Duty Cycle Register High Half Word */
emilmont 10:3bc89ef62ce7 124 __IO uint32_t SCLL; /*!< (@ 0x40000014) SCL Duty Cycle Register Low Half Word */
emilmont 10:3bc89ef62ce7 125 __IO uint32_t CONCLR; /*!< (@ 0x40000018) I2C Control Clear Register*/
emilmont 10:3bc89ef62ce7 126 __IO uint32_t MMCTRL; /*!< (@ 0x4000001C) Monitor mode control register*/
emilmont 10:3bc89ef62ce7 127 __IO uint32_t ADR1; /*!< (@ 0x40000020) I2C Slave Address Register 1*/
emilmont 10:3bc89ef62ce7 128 __IO uint32_t ADR2; /*!< (@ 0x40000024) I2C Slave Address Register 2*/
emilmont 10:3bc89ef62ce7 129 __IO uint32_t ADR3; /*!< (@ 0x40000028) I2C Slave Address Register 3*/
emilmont 10:3bc89ef62ce7 130 __I uint32_t DATA_BUFFER; /*!< (@ 0x4000002C) Data buffer register */
emilmont 10:3bc89ef62ce7 131 union{
emilmont 10:3bc89ef62ce7 132 __IO uint32_t MASK[4]; /*!< (@ 0x40000030) I2C Slave address mask register */
emilmont 10:3bc89ef62ce7 133 struct{
emilmont 10:3bc89ef62ce7 134 __IO uint32_t MASK0;
emilmont 10:3bc89ef62ce7 135 __IO uint32_t MASK1;
emilmont 10:3bc89ef62ce7 136 __IO uint32_t MASK2;
emilmont 10:3bc89ef62ce7 137 __IO uint32_t MASK3;
emilmont 10:3bc89ef62ce7 138 };
emilmont 10:3bc89ef62ce7 139 };
emilmont 10:3bc89ef62ce7 140 } LPC_I2C_Type;
emilmont 10:3bc89ef62ce7 141
emilmont 10:3bc89ef62ce7 142
emilmont 10:3bc89ef62ce7 143 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 144 // ----- WWDT -----
emilmont 10:3bc89ef62ce7 145 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 146
emilmont 10:3bc89ef62ce7 147
emilmont 10:3bc89ef62ce7 148 /**
emilmont 10:3bc89ef62ce7 149 * @brief Product name title=UM10462 Chapter title=LPC11U1x Windowed Watchdog Timer (WWDT) Modification date=3/16/2011 Major revision=0 Minor revision=3 (WWDT)
emilmont 10:3bc89ef62ce7 150 */
emilmont 10:3bc89ef62ce7 151
emilmont 10:3bc89ef62ce7 152 typedef struct { /*!< (@ 0x40004000) WWDT Structure */
emilmont 10:3bc89ef62ce7 153 __IO uint32_t MOD; /*!< (@ 0x40004000) Watchdog mode register*/
emilmont 10:3bc89ef62ce7 154 __IO uint32_t TC; /*!< (@ 0x40004004) Watchdog timer constant register */
emilmont 10:3bc89ef62ce7 155 __IO uint32_t FEED; /*!< (@ 0x40004008) Watchdog feed sequence register */
emilmont 10:3bc89ef62ce7 156 __I uint32_t TV; /*!< (@ 0x4000400C) Watchdog timer value register */
emilmont 10:3bc89ef62ce7 157 __IO uint32_t CLKSEL; /*!< (@ 0x40004010) Watchdog clock select register. */
emilmont 10:3bc89ef62ce7 158 __IO uint32_t WARNINT; /*!< (@ 0x40004014) Watchdog Warning Interrupt compare value. */
emilmont 10:3bc89ef62ce7 159 __IO uint32_t WINDOW; /*!< (@ 0x40004018) Watchdog Window compare value. */
emilmont 10:3bc89ef62ce7 160 } LPC_WWDT_Type;
emilmont 10:3bc89ef62ce7 161
emilmont 10:3bc89ef62ce7 162
emilmont 10:3bc89ef62ce7 163 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 164 // ----- USART -----
emilmont 10:3bc89ef62ce7 165 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 166
emilmont 10:3bc89ef62ce7 167
emilmont 10:3bc89ef62ce7 168 /**
emilmont 10:3bc89ef62ce7 169 * @brief Product name title=UM10462 Chapter title=LPC11U1x USART Modification date=3/16/2011 Major revision=0 Minor revision=3 (USART)
emilmont 10:3bc89ef62ce7 170 */
emilmont 10:3bc89ef62ce7 171
emilmont 10:3bc89ef62ce7 172 typedef struct { /*!< (@ 0x40008000) USART Structure */
emilmont 10:3bc89ef62ce7 173
emilmont 10:3bc89ef62ce7 174 union {
emilmont 10:3bc89ef62ce7 175 __IO uint32_t DLL; /*!< (@ 0x40008000) Divisor Latch LSB. Least significant byte of the baud rate divisor value. The full divisor is used to generate a baud rate from the fractional rate divider. (DLAB=1) */
emilmont 10:3bc89ef62ce7 176 __O uint32_t THR; /*!< (@ 0x40008000) Transmit Holding Register. The next character to be transmitted is written here. (DLAB=0) */
emilmont 10:3bc89ef62ce7 177 __I uint32_t RBR; /*!< (@ 0x40008000) Receiver Buffer Register. Contains the next received character to be read. (DLAB=0) */
emilmont 10:3bc89ef62ce7 178 };
emilmont 10:3bc89ef62ce7 179
emilmont 10:3bc89ef62ce7 180 union {
emilmont 10:3bc89ef62ce7 181 __IO uint32_t IER; /*!< (@ 0x40008004) Interrupt Enable Register. Contains individual interrupt enable bits for the 7 potential USART interrupts. (DLAB=0) */
emilmont 10:3bc89ef62ce7 182 __IO uint32_t DLM; /*!< (@ 0x40008004) Divisor Latch MSB. Most significant byte of the baud rate divisor value. The full divisor is used to generate a baud rate from the fractional rate divider. (DLAB=1) */
emilmont 10:3bc89ef62ce7 183 };
emilmont 10:3bc89ef62ce7 184
emilmont 10:3bc89ef62ce7 185 union {
emilmont 10:3bc89ef62ce7 186 __O uint32_t FCR; /*!< (@ 0x40008008) FIFO Control Register. Controls USART FIFO usage and modes. */
emilmont 10:3bc89ef62ce7 187 __I uint32_t IIR; /*!< (@ 0x40008008) Interrupt ID Register. Identifies which interrupt(s) are pending. */
emilmont 10:3bc89ef62ce7 188 };
emilmont 10:3bc89ef62ce7 189 __IO uint32_t LCR; /*!< (@ 0x4000800C) Line Control Register. Contains controls for frame formatting and break generation. */
emilmont 10:3bc89ef62ce7 190 __IO uint32_t MCR; /*!< (@ 0x40008010) Modem Control Register. */
emilmont 10:3bc89ef62ce7 191 __I uint32_t LSR; /*!< (@ 0x40008014) Line Status Register. Contains flags for transmit and receive status, including line errors. */
emilmont 10:3bc89ef62ce7 192 __I uint32_t MSR; /*!< (@ 0x40008018) Modem Status Register. */
emilmont 10:3bc89ef62ce7 193 __IO uint32_t SCR; /*!< (@ 0x4000801C) Scratch Pad Register. Eight-bit temporary storage for software. */
emilmont 10:3bc89ef62ce7 194 __IO uint32_t ACR; /*!< (@ 0x40008020) Auto-baud Control Register. Contains controls for the auto-baud feature. */
emilmont 10:3bc89ef62ce7 195 __IO uint32_t ICR; /*!< (@ 0x40008024) IrDA Control Register. Enables and configures the IrDA (remote control) mode. */
emilmont 10:3bc89ef62ce7 196 __IO uint32_t FDR; /*!< (@ 0x40008028) Fractional Divider Register. Generates a clock input for the baud rate divider. */
emilmont 10:3bc89ef62ce7 197 __IO uint32_t OSR; /*!< (@ 0x4000802C) Oversampling Register. Controls the degree of oversampling during each bit time. */
emilmont 10:3bc89ef62ce7 198 __IO uint32_t TER; /*!< (@ 0x40008030) Transmit Enable Register. Turns off USART transmitter for use with software flow control. */
emilmont 10:3bc89ef62ce7 199 __I uint32_t RESERVED0[3];
emilmont 10:3bc89ef62ce7 200 __IO uint32_t HDEN; /*!< (@ 0x40008040) Half duplex enable register. */
emilmont 10:3bc89ef62ce7 201 __I uint32_t RESERVED1;
emilmont 10:3bc89ef62ce7 202 __IO uint32_t SCICTRL; /*!< (@ 0x40008048) Smart Card Interface Control register. Enables and configures the Smart Card Interface feature. */
emilmont 10:3bc89ef62ce7 203 __IO uint32_t RS485CTRL; /*!< (@ 0x4000804C) RS-485/EIA-485 Control. Contains controls to configure various aspects of RS-485/EIA-485 modes. */
emilmont 10:3bc89ef62ce7 204 __IO uint32_t RS485ADRMATCH; /*!< (@ 0x40008050) RS-485/EIA-485 address match. Contains the address match value for RS-485/EIA-485 mode. */
emilmont 10:3bc89ef62ce7 205 __IO uint32_t RS485DLY; /*!< (@ 0x40008054) RS-485/EIA-485 direction control delay. */
emilmont 10:3bc89ef62ce7 206 __IO uint32_t SYNCCTRL;
emilmont 10:3bc89ef62ce7 207 } LPC_USART_Type;
emilmont 10:3bc89ef62ce7 208
emilmont 10:3bc89ef62ce7 209
emilmont 10:3bc89ef62ce7 210 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 211 // ----- Timer -----
emilmont 10:3bc89ef62ce7 212 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 213
emilmont 10:3bc89ef62ce7 214
emilmont 10:3bc89ef62ce7 215 /**
emilmont 10:3bc89ef62ce7 216 * @brief Product name title=UM10462 Chapter title=LPC11U1x 32-bitcounter/timers CT32B0/1 Modification date=3/16/2011 Major revision=0 Minor revision=3
emilmont 10:3bc89ef62ce7 217 */
emilmont 10:3bc89ef62ce7 218
emilmont 10:3bc89ef62ce7 219 typedef struct { /*!< (@ 0x40014000) CT32B0 Structure */
emilmont 10:3bc89ef62ce7 220 __IO uint32_t IR; /*!< (@ 0x40014000) Interrupt Register */
emilmont 10:3bc89ef62ce7 221 __IO uint32_t TCR; /*!< (@ 0x40014004) Timer Control Register */
emilmont 10:3bc89ef62ce7 222 __IO uint32_t TC; /*!< (@ 0x40014008) Timer Counter */
emilmont 10:3bc89ef62ce7 223 __IO uint32_t PR; /*!< (@ 0x4001400C) Prescale Register */
emilmont 10:3bc89ef62ce7 224 __IO uint32_t PC; /*!< (@ 0x40014010) Prescale Counter */
emilmont 10:3bc89ef62ce7 225 __IO uint32_t MCR; /*!< (@ 0x40014014) Match Control Register */
emilmont 10:3bc89ef62ce7 226 union {
emilmont 10:3bc89ef62ce7 227 __IO uint32_t MR[4]; /*!< (@ 0x40014018) Match Register */
emilmont 10:3bc89ef62ce7 228 struct{
emilmont 10:3bc89ef62ce7 229 __IO uint32_t MR0; /*!< (@ 0x40018018) Match Register. MR0 */
emilmont 10:3bc89ef62ce7 230 __IO uint32_t MR1; /*!< (@ 0x4001801C) Match Register. MR1 */
emilmont 10:3bc89ef62ce7 231 __IO uint32_t MR2; /*!< (@ 0x40018020) Match Register. MR2 */
emilmont 10:3bc89ef62ce7 232 __IO uint32_t MR3; /*!< (@ 0x40018024) Match Register. MR3 */
emilmont 10:3bc89ef62ce7 233 };
emilmont 10:3bc89ef62ce7 234 };
emilmont 10:3bc89ef62ce7 235 __IO uint32_t CCR; /*!< (@ 0x40014028) Capture Control Register */
emilmont 10:3bc89ef62ce7 236 union{
emilmont 10:3bc89ef62ce7 237 __I uint32_t CR[4]; /*!< (@ 0x4001402C) Capture Register */
emilmont 10:3bc89ef62ce7 238 struct{
emilmont 10:3bc89ef62ce7 239 __I uint32_t CR0; /*!< (@ 0x4001802C) Capture Register. CR 0 */
emilmont 10:3bc89ef62ce7 240 __I uint32_t CR1; /*!< (@ 0x40018030) Capture Register. CR 1 */
emilmont 10:3bc89ef62ce7 241 __I uint32_t CR2; /*!< (@ 0x40018034) Capture Register. CR 2 */
emilmont 10:3bc89ef62ce7 242 __I uint32_t CR3; /*!< (@ 0x40018038) Capture Register. CR 3 */
emilmont 10:3bc89ef62ce7 243 };
emilmont 10:3bc89ef62ce7 244 };
emilmont 10:3bc89ef62ce7 245 __IO uint32_t EMR; /*!< (@ 0x4001403C) External Match Register */
emilmont 10:3bc89ef62ce7 246 __I uint32_t RESERVED0[12];
emilmont 10:3bc89ef62ce7 247 __IO uint32_t CTCR; /*!< (@ 0x40014070) Count Control Register */
emilmont 10:3bc89ef62ce7 248 __IO uint32_t PWMC; /*!< (@ 0x40014074) PWM Control Register */
emilmont 10:3bc89ef62ce7 249 } LPC_CTxxBx_Type;
emilmont 10:3bc89ef62ce7 250
emilmont 10:3bc89ef62ce7 251
emilmont 10:3bc89ef62ce7 252
emilmont 10:3bc89ef62ce7 253 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 254 // ----- ADC -----
emilmont 10:3bc89ef62ce7 255 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 256
emilmont 10:3bc89ef62ce7 257
emilmont 10:3bc89ef62ce7 258 /**
emilmont 10:3bc89ef62ce7 259 * @brief Product name title=UM10462 Chapter title=LPC11U1x ADC Modification date=3/16/2011 Major revision=0 Minor revision=3 (ADC)
emilmont 10:3bc89ef62ce7 260 */
emilmont 10:3bc89ef62ce7 261
emilmont 10:3bc89ef62ce7 262 typedef struct { /*!< (@ 0x4001C000) ADC Structure */
emilmont 10:3bc89ef62ce7 263 __IO uint32_t CR; /*!< (@ 0x4001C000) A/D Control Register */
emilmont 10:3bc89ef62ce7 264 __IO uint32_t GDR; /*!< (@ 0x4001C004) A/D Global Data Register */
emilmont 10:3bc89ef62ce7 265 __I uint32_t RESERVED0[1];
emilmont 10:3bc89ef62ce7 266 __IO uint32_t INTEN; /*!< (@ 0x4001C00C) A/D Interrupt Enable Register */
emilmont 10:3bc89ef62ce7 267 union{
emilmont 10:3bc89ef62ce7 268 __I uint32_t DR[8]; /*!< (@ 0x4001C010) A/D Channel Data Register*/
emilmont 10:3bc89ef62ce7 269 struct{
emilmont 10:3bc89ef62ce7 270 __IO uint32_t DR0; /*!< (@ 0x40020010) A/D Channel Data Register 0*/
emilmont 10:3bc89ef62ce7 271 __IO uint32_t DR1; /*!< (@ 0x40020014) A/D Channel Data Register 1*/
emilmont 10:3bc89ef62ce7 272 __IO uint32_t DR2; /*!< (@ 0x40020018) A/D Channel Data Register 2*/
emilmont 10:3bc89ef62ce7 273 __IO uint32_t DR3; /*!< (@ 0x4002001C) A/D Channel Data Register 3*/
emilmont 10:3bc89ef62ce7 274 __IO uint32_t DR4; /*!< (@ 0x40020020) A/D Channel Data Register 4*/
emilmont 10:3bc89ef62ce7 275 __IO uint32_t DR5; /*!< (@ 0x40020024) A/D Channel Data Register 5*/
emilmont 10:3bc89ef62ce7 276 __IO uint32_t DR6; /*!< (@ 0x40020028) A/D Channel Data Register 6*/
emilmont 10:3bc89ef62ce7 277 __IO uint32_t DR7; /*!< (@ 0x4002002C) A/D Channel Data Register 7*/
emilmont 10:3bc89ef62ce7 278 };
emilmont 10:3bc89ef62ce7 279 };
emilmont 10:3bc89ef62ce7 280 __I uint32_t STAT; /*!< (@ 0x4001C030) A/D Status Register. */
emilmont 10:3bc89ef62ce7 281 } LPC_ADC_Type;
emilmont 10:3bc89ef62ce7 282
emilmont 10:3bc89ef62ce7 283
emilmont 10:3bc89ef62ce7 284 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 285 // ----- PMU -----
emilmont 10:3bc89ef62ce7 286 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 287
emilmont 10:3bc89ef62ce7 288
emilmont 10:3bc89ef62ce7 289 /**
emilmont 10:3bc89ef62ce7 290 * @brief Product name title=UM10462 Chapter title=LPC11U1x Power Management Unit (PMU) Modification date=3/16/2011 Major revision=0 Minor revision=3 (PMU)
emilmont 10:3bc89ef62ce7 291 */
emilmont 10:3bc89ef62ce7 292
emilmont 10:3bc89ef62ce7 293 typedef struct { /*!< (@ 0x40038000) PMU Structure */
emilmont 10:3bc89ef62ce7 294 __IO uint32_t PCON; /*!< (@ 0x40038000) Power control register */
emilmont 10:3bc89ef62ce7 295 union{
emilmont 10:3bc89ef62ce7 296 __IO uint32_t GPREG[4]; /*!< (@ 0x40038004) General purpose register 0 */
emilmont 10:3bc89ef62ce7 297 struct{
emilmont 10:3bc89ef62ce7 298 __IO uint32_t GPREG0; /*!< (@ 0x40038004) General purpose register 0 */
emilmont 10:3bc89ef62ce7 299 __IO uint32_t GPREG1; /*!< (@ 0x40038008) General purpose register 1 */
emilmont 10:3bc89ef62ce7 300 __IO uint32_t GPREG2; /*!< (@ 0x4003800C) General purpose register 2 */
emilmont 10:3bc89ef62ce7 301 __IO uint32_t GPREG3; /*!< (@ 0x40038010) General purpose register 3 */
emilmont 10:3bc89ef62ce7 302 };
emilmont 10:3bc89ef62ce7 303 };
emilmont 10:3bc89ef62ce7 304 } LPC_PMU_Type;
emilmont 10:3bc89ef62ce7 305
emilmont 10:3bc89ef62ce7 306
emilmont 10:3bc89ef62ce7 307 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 308 // ----- FLASHCTRL -----
emilmont 10:3bc89ef62ce7 309 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 310
emilmont 10:3bc89ef62ce7 311
emilmont 10:3bc89ef62ce7 312 /**
emilmont 10:3bc89ef62ce7 313 * @brief Product name title=UM10462 Chapter title=LPC11U1x Flash programming firmware Modification date=3/17/2011 Major revision=0 Minor revision=3 (FLASHCTRL)
emilmont 10:3bc89ef62ce7 314 */
emilmont 10:3bc89ef62ce7 315
emilmont 10:3bc89ef62ce7 316 typedef struct { /*!< (@ 0x4003C000) FLASHCTRL Structure */
emilmont 10:3bc89ef62ce7 317 __I uint32_t RESERVED0[4];
emilmont 10:3bc89ef62ce7 318 __IO uint32_t FLASHCFG; /*!< (@ 0x4003C010) Flash memory access time configuration register */
emilmont 10:3bc89ef62ce7 319 __I uint32_t RESERVED1[3];
emilmont 10:3bc89ef62ce7 320 __IO uint32_t FMSSTART; /*!< (@ 0x4003C020) Signature start address register */
emilmont 10:3bc89ef62ce7 321 __IO uint32_t FMSSTOP; /*!< (@ 0x4003C024) Signature stop-address register */
emilmont 10:3bc89ef62ce7 322 __I uint32_t RESERVED2[1];
emilmont 10:3bc89ef62ce7 323 __I uint32_t FMSW0; /*!< (@ 0x4003C02C) Word 0 [31:0] */
emilmont 10:3bc89ef62ce7 324 __I uint32_t FMSW1; /*!< (@ 0x4003C030) Word 1 [63:32] */
emilmont 10:3bc89ef62ce7 325 __I uint32_t FMSW2; /*!< (@ 0x4003C034) Word 2 [95:64] */
emilmont 10:3bc89ef62ce7 326 __I uint32_t FMSW3; /*!< (@ 0x4003C038) Word 3 [127:96] */
emilmont 10:3bc89ef62ce7 327 __I uint32_t RESERVED3[1001];
emilmont 10:3bc89ef62ce7 328 __I uint32_t FMSTAT; /*!< (@ 0x4003CFE0) Signature generation status register */
emilmont 10:3bc89ef62ce7 329 __I uint32_t RESERVED4[1];
emilmont 10:3bc89ef62ce7 330 __IO uint32_t FMSTATCLR; /*!< (@ 0x4003CFE8) Signature generation status clear register */
emilmont 10:3bc89ef62ce7 331 } LPC_FLASHCTRL_Type;
emilmont 10:3bc89ef62ce7 332
emilmont 10:3bc89ef62ce7 333
emilmont 10:3bc89ef62ce7 334 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 335 // ----- SSP0/1 -----
emilmont 10:3bc89ef62ce7 336 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 337
emilmont 10:3bc89ef62ce7 338
emilmont 10:3bc89ef62ce7 339 /**
emilmont 10:3bc89ef62ce7 340 * @brief Product name title=UM10462 Chapter title=LPC11U1x SSP/SPI Modification date=3/16/2011 Major revision=0 Minor revision=3 (SSP0)
emilmont 10:3bc89ef62ce7 341 */
emilmont 10:3bc89ef62ce7 342
emilmont 10:3bc89ef62ce7 343 typedef struct { /*!< (@ 0x40040000) SSP0 Structure */
emilmont 10:3bc89ef62ce7 344 __IO uint32_t CR0; /*!< (@ 0x40040000) Control Register 0. Selects the serial clock rate, bus type, and data size. */
emilmont 10:3bc89ef62ce7 345 __IO uint32_t CR1; /*!< (@ 0x40040004) Control Register 1. Selects master/slave and other modes. */
emilmont 10:3bc89ef62ce7 346 __IO uint32_t DR; /*!< (@ 0x40040008) Data Register. Writes fill the transmit FIFO, and reads empty the receive FIFO. */
emilmont 10:3bc89ef62ce7 347 __I uint32_t SR; /*!< (@ 0x4004000C) Status Register */
emilmont 10:3bc89ef62ce7 348 __IO uint32_t CPSR; /*!< (@ 0x40040010) Clock Prescale Register */
emilmont 10:3bc89ef62ce7 349 __IO uint32_t IMSC; /*!< (@ 0x40040014) Interrupt Mask Set and Clear Register */
emilmont 10:3bc89ef62ce7 350 __I uint32_t RIS; /*!< (@ 0x40040018) Raw Interrupt Status Register */
emilmont 10:3bc89ef62ce7 351 __I uint32_t MIS; /*!< (@ 0x4004001C) Masked Interrupt Status Register */
emilmont 10:3bc89ef62ce7 352 __IO uint32_t ICR; /*!< (@ 0x40040020) SSPICR Interrupt Clear Register */
emilmont 10:3bc89ef62ce7 353 } LPC_SSPx_Type;
emilmont 10:3bc89ef62ce7 354
emilmont 10:3bc89ef62ce7 355
emilmont 10:3bc89ef62ce7 356
emilmont 10:3bc89ef62ce7 357 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 358 // ----- IOCONFIG -----
emilmont 10:3bc89ef62ce7 359 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 360
emilmont 10:3bc89ef62ce7 361
emilmont 10:3bc89ef62ce7 362 /**
emilmont 10:3bc89ef62ce7 363 * @brief Product name title=UM10462 Chapter title=LPC11U1x I/O configuration Modification date=3/16/2011 Major revision=0 Minor revision=3 (IOCONFIG)
emilmont 10:3bc89ef62ce7 364 */
emilmont 10:3bc89ef62ce7 365
emilmont 10:3bc89ef62ce7 366 typedef struct { /*!< (@ 0x40044000) IOCONFIG Structure */
emilmont 10:3bc89ef62ce7 367 __IO uint32_t RESET_PIO0_0; /*!< (@ 0x40044000) I/O configuration for pin RESET/PIO0_0 */
emilmont 10:3bc89ef62ce7 368 __IO uint32_t PIO0_1; /*!< (@ 0x40044004) I/O configuration for pin PIO0_1/CLKOUT/CT32B0_MAT2/USB_FTOGGLE */
emilmont 10:3bc89ef62ce7 369 __IO uint32_t PIO0_2; /*!< (@ 0x40044008) I/O configuration for pin PIO0_2/SSEL0/CT16B0_CAP0 */
emilmont 10:3bc89ef62ce7 370 __IO uint32_t PIO0_3; /*!< (@ 0x4004400C) I/O configuration for pin PIO0_3/USB_VBUS */
emilmont 10:3bc89ef62ce7 371 __IO uint32_t PIO0_4; /*!< (@ 0x40044010) I/O configuration for pin PIO0_4/SCL */
emilmont 10:3bc89ef62ce7 372 __IO uint32_t PIO0_5; /*!< (@ 0x40044014) I/O configuration for pin PIO0_5/SDA */
emilmont 10:3bc89ef62ce7 373 __IO uint32_t PIO0_6; /*!< (@ 0x40044018) I/O configuration for pin PIO0_6/USB_CONNECT/SCK0 */
emilmont 10:3bc89ef62ce7 374 __IO uint32_t PIO0_7; /*!< (@ 0x4004401C) I/O configuration for pin PIO0_7/CTS */
emilmont 10:3bc89ef62ce7 375 __IO uint32_t PIO0_8; /*!< (@ 0x40044020) I/O configuration for pin PIO0_8/MISO0/CT16B0_MAT0 */
emilmont 10:3bc89ef62ce7 376 __IO uint32_t PIO0_9; /*!< (@ 0x40044024) I/O configuration for pin PIO0_9/MOSI0/CT16B0_MAT1 */
emilmont 10:3bc89ef62ce7 377 __IO uint32_t SWCLK_PIO0_10; /*!< (@ 0x40044028) I/O configuration for pin SWCLK/PIO0_10/ SCK0/CT16B0_MAT2 */
emilmont 10:3bc89ef62ce7 378 __IO uint32_t TDI_PIO0_11; /*!< (@ 0x4004402C) I/O configuration for pin TDI/PIO0_11/AD0/CT32B0_MAT3 */
emilmont 10:3bc89ef62ce7 379 __IO uint32_t TMS_PIO0_12; /*!< (@ 0x40044030) I/O configuration for pin TMS/PIO0_12/AD1/CT32B1_CAP0 */
emilmont 10:3bc89ef62ce7 380 __IO uint32_t TDO_PIO0_13; /*!< (@ 0x40044034) I/O configuration for pin TDO/PIO0_13/AD2/CT32B1_MAT0 */
emilmont 10:3bc89ef62ce7 381 __IO uint32_t TRST_PIO0_14; /*!< (@ 0x40044038) I/O configuration for pin TRST/PIO0_14/AD3/CT32B1_MAT1 */
emilmont 10:3bc89ef62ce7 382 __IO uint32_t SWDIO_PIO0_15; /*!< (@ 0x4004403C) I/O configuration for pin SWDIO/PIO0_15/AD4/CT32B1_MAT2 */
emilmont 10:3bc89ef62ce7 383 __IO uint32_t PIO0_16; /*!< (@ 0x40044040) I/O configuration for pin PIO0_16/AD5/CT32B1_MAT3/ WAKEUP */
emilmont 10:3bc89ef62ce7 384 __IO uint32_t PIO0_17; /*!< (@ 0x40044044) I/O configuration for pin PIO0_17/RTS/CT32B0_CAP0/SCLK */
emilmont 10:3bc89ef62ce7 385 __IO uint32_t PIO0_18; /*!< (@ 0x40044048) I/O configuration for pin PIO0_18/RXD/CT32B0_MAT0 */
emilmont 10:3bc89ef62ce7 386 __IO uint32_t PIO0_19; /*!< (@ 0x4004404C) I/O configuration for pin PIO0_19/TXD/CT32B0_MAT1 */
emilmont 10:3bc89ef62ce7 387 __IO uint32_t PIO0_20; /*!< (@ 0x40044050) I/O configuration for pin PIO0_20/CT16B1_CAP0 */
emilmont 10:3bc89ef62ce7 388 __IO uint32_t PIO0_21; /*!< (@ 0x40044054) I/O configuration for pin PIO0_21/CT16B1_MAT0/MOSI1 */
emilmont 10:3bc89ef62ce7 389 __IO uint32_t PIO0_22; /*!< (@ 0x40044058) I/O configuration for pin PIO0_22/AD6/CT16B1_MAT1/MISO1 */
emilmont 10:3bc89ef62ce7 390 __IO uint32_t PIO0_23; /*!< (@ 0x4004405C) I/O configuration for pin PIO0_23/AD7 */
emilmont 10:3bc89ef62ce7 391 __IO uint32_t PIO1_0; /*!< Offset: 0x060 */
emilmont 10:3bc89ef62ce7 392 __IO uint32_t PIO1_1;
emilmont 10:3bc89ef62ce7 393 __IO uint32_t PIO1_2;
emilmont 10:3bc89ef62ce7 394 __IO uint32_t PIO1_3;
emilmont 10:3bc89ef62ce7 395 __IO uint32_t PIO1_4; /*!< Offset: 0x070 */
emilmont 10:3bc89ef62ce7 396 __IO uint32_t PIO1_5; /*!< (@ 0x40044074) I/O configuration for pin PIO1_5/CT32B1_CAP1 */
emilmont 10:3bc89ef62ce7 397 __IO uint32_t PIO1_6;
emilmont 10:3bc89ef62ce7 398 __IO uint32_t PIO1_7;
emilmont 10:3bc89ef62ce7 399 __IO uint32_t PIO1_8; /*!< Offset: 0x080 */
emilmont 10:3bc89ef62ce7 400 __IO uint32_t PIO1_9;
emilmont 10:3bc89ef62ce7 401 __IO uint32_t PIO1_10;
emilmont 10:3bc89ef62ce7 402 __IO uint32_t PIO1_11;
emilmont 10:3bc89ef62ce7 403 __IO uint32_t PIO1_12; /*!< Offset: 0x090 */
emilmont 10:3bc89ef62ce7 404 __IO uint32_t PIO1_13; /*!< (@ 0x40044094) I/O configuration for pin PIO1_13/DTR/CT16B0_MAT0/TXD */
emilmont 10:3bc89ef62ce7 405 __IO uint32_t PIO1_14; /*!< (@ 0x40044098) I/O configuration for pin PIO1_14/DSR/CT16B0_MAT1/RXD */
emilmont 10:3bc89ef62ce7 406 __IO uint32_t PIO1_15; /*!< (@ 0x4004409C) I/O configuration for pin PIO1_15/DCD/ CT16B0_MAT2/SCK1 */
emilmont 10:3bc89ef62ce7 407 __IO uint32_t PIO1_16; /*!< (@ 0x400440A0) I/O configuration for pin PIO1_16/RI/CT16B0_CAP0 */
emilmont 10:3bc89ef62ce7 408 __IO uint32_t PIO1_17;
emilmont 10:3bc89ef62ce7 409 __IO uint32_t PIO1_18;
emilmont 10:3bc89ef62ce7 410 __IO uint32_t PIO1_19; /*!< (@ 0x400440AC) I/O configuration for pin PIO1_19/DTR/SSEL1 */
emilmont 10:3bc89ef62ce7 411 __IO uint32_t PIO1_20; /*!< (@ 0x400440B0) I/O configuration for pin PIO1_20/DSR/SCK1 */
emilmont 10:3bc89ef62ce7 412 __IO uint32_t PIO1_21; /*!< (@ 0x400440B4) I/O configuration for pin PIO1_21/DCD/MISO1 */
emilmont 10:3bc89ef62ce7 413 __IO uint32_t PIO1_22; /*!< (@ 0x400440B8) I/O configuration for pin PIO1_22/RI/MOSI1 */
emilmont 10:3bc89ef62ce7 414 __IO uint32_t PIO1_23; /*!< (@ 0x400440BC) I/O configuration for pin PIO1_23/CT16B1_MAT1/SSEL1 */
emilmont 10:3bc89ef62ce7 415 __IO uint32_t PIO1_24; /*!< (@ 0x400440C0) I/O configuration for pin PIO1_24/ CT32B0_MAT0 */
emilmont 10:3bc89ef62ce7 416 __IO uint32_t PIO1_25; /*!< (@ 0x400440C4) I/O configuration for pin PIO1_25/CT32B0_MAT1 */
emilmont 10:3bc89ef62ce7 417 __IO uint32_t PIO1_26; /*!< (@ 0x400440C8) I/O configuration for pin PIO1_26/CT32B0_MAT2/ RXD */
emilmont 10:3bc89ef62ce7 418 __IO uint32_t PIO1_27; /*!< (@ 0x400440CC) I/O configuration for pin PIO1_27/CT32B0_MAT3/ TXD */
emilmont 10:3bc89ef62ce7 419 __IO uint32_t PIO1_28; /*!< (@ 0x400440D0) I/O configuration for pin PIO1_28/CT32B0_CAP0/ SCLK */
emilmont 10:3bc89ef62ce7 420 __IO uint32_t PIO1_29; /*!< (@ 0x400440D4) I/O configuration for pin PIO1_29/SCK0/ CT32B0_CAP1 */
emilmont 10:3bc89ef62ce7 421 __IO uint32_t PIO1_30;
emilmont 10:3bc89ef62ce7 422 __IO uint32_t PIO1_31; /*!< (@ 0x400440DC) I/O configuration for pin PIO1_31 */
emilmont 10:3bc89ef62ce7 423 } LPC_IOCON_Type;
emilmont 10:3bc89ef62ce7 424
emilmont 10:3bc89ef62ce7 425
emilmont 10:3bc89ef62ce7 426 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 427 // ----- SYSCON -----
emilmont 10:3bc89ef62ce7 428 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 429
emilmont 10:3bc89ef62ce7 430
emilmont 10:3bc89ef62ce7 431 /**
emilmont 10:3bc89ef62ce7 432 * @brief Product name title=UM10462 Chapter title=LPC11U1x System control block Modification date=3/16/2011 Major revision=0 Minor revision=3 (SYSCON)
emilmont 10:3bc89ef62ce7 433 */
emilmont 10:3bc89ef62ce7 434
emilmont 10:3bc89ef62ce7 435 typedef struct { /*!< (@ 0x40048000) SYSCON Structure */
emilmont 10:3bc89ef62ce7 436 __IO uint32_t SYSMEMREMAP; /*!< (@ 0x40048000) System memory remap */
emilmont 10:3bc89ef62ce7 437 __IO uint32_t PRESETCTRL; /*!< (@ 0x40048004) Peripheral reset control */
emilmont 10:3bc89ef62ce7 438 __IO uint32_t SYSPLLCTRL; /*!< (@ 0x40048008) System PLL control */
emilmont 10:3bc89ef62ce7 439 __I uint32_t SYSPLLSTAT; /*!< (@ 0x4004800C) System PLL status */
emilmont 10:3bc89ef62ce7 440 __IO uint32_t USBPLLCTRL; /*!< (@ 0x40048010) USB PLL control */
emilmont 10:3bc89ef62ce7 441 __I uint32_t USBPLLSTAT; /*!< (@ 0x40048014) USB PLL status */
emilmont 10:3bc89ef62ce7 442 __I uint32_t RESERVED0[2];
emilmont 10:3bc89ef62ce7 443 __IO uint32_t SYSOSCCTRL; /*!< (@ 0x40048020) System oscillator control */
emilmont 10:3bc89ef62ce7 444 __IO uint32_t WDTOSCCTRL; /*!< (@ 0x40048024) Watchdog oscillator control */
emilmont 10:3bc89ef62ce7 445 __I uint32_t RESERVED1[2];
emilmont 10:3bc89ef62ce7 446 __IO uint32_t SYSRSTSTAT; /*!< (@ 0x40048030) System reset status register */
emilmont 10:3bc89ef62ce7 447 __I uint32_t RESERVED2[3];
emilmont 10:3bc89ef62ce7 448 __IO uint32_t SYSPLLCLKSEL; /*!< (@ 0x40048040) System PLL clock source select */
emilmont 10:3bc89ef62ce7 449 __IO uint32_t SYSPLLCLKUEN; /*!< (@ 0x40048044) System PLL clock source update enable */
emilmont 10:3bc89ef62ce7 450 __IO uint32_t USBPLLCLKSEL; /*!< (@ 0x40048048) USB PLL clock source select */
emilmont 10:3bc89ef62ce7 451 __IO uint32_t USBPLLCLKUEN; /*!< (@ 0x4004804C) USB PLL clock source update enable */
emilmont 10:3bc89ef62ce7 452 __I uint32_t RESERVED3[8];
emilmont 10:3bc89ef62ce7 453 __IO uint32_t MAINCLKSEL; /*!< (@ 0x40048070) Main clock source select */
emilmont 10:3bc89ef62ce7 454 __IO uint32_t MAINCLKUEN; /*!< (@ 0x40048074) Main clock source update enable */
emilmont 10:3bc89ef62ce7 455 __IO uint32_t SYSAHBCLKDIV; /*!< (@ 0x40048078) System clock divider */
emilmont 10:3bc89ef62ce7 456 __I uint32_t RESERVED4[1];
emilmont 10:3bc89ef62ce7 457 __IO uint32_t SYSAHBCLKCTRL; /*!< (@ 0x40048080) System clock control */
emilmont 10:3bc89ef62ce7 458 __I uint32_t RESERVED5[4];
emilmont 10:3bc89ef62ce7 459 __IO uint32_t SSP0CLKDIV; /*!< (@ 0x40048094) SSP0 clock divider */
emilmont 10:3bc89ef62ce7 460 __IO uint32_t UARTCLKDIV; /*!< (@ 0x40048098) UART clock divider */
emilmont 10:3bc89ef62ce7 461 __IO uint32_t SSP1CLKDIV; /*!< (@ 0x4004809C) SSP1 clock divider */
emilmont 10:3bc89ef62ce7 462 __I uint32_t RESERVED6[8];
emilmont 10:3bc89ef62ce7 463 __IO uint32_t USBCLKSEL; /*!< (@ 0x400480C0) USB clock source select */
emilmont 10:3bc89ef62ce7 464 __IO uint32_t USBCLKUEN; /*!< (@ 0x400480C4) USB clock source update enable */
emilmont 10:3bc89ef62ce7 465 __IO uint32_t USBCLKDIV; /*!< (@ 0x400480C8) USB clock source divider */
emilmont 10:3bc89ef62ce7 466 __I uint32_t RESERVED7[5];
emilmont 10:3bc89ef62ce7 467 __IO uint32_t CLKOUTSEL; /*!< (@ 0x400480E0) CLKOUT clock source select */
emilmont 10:3bc89ef62ce7 468 __IO uint32_t CLKOUTUEN; /*!< (@ 0x400480E4) CLKOUT clock source update enable */
emilmont 10:3bc89ef62ce7 469 __IO uint32_t CLKOUTDIV; /*!< (@ 0x400480E8) CLKOUT clock divider */
emilmont 10:3bc89ef62ce7 470 __I uint32_t RESERVED8[5];
emilmont 10:3bc89ef62ce7 471 __I uint32_t PIOPORCAP0; /*!< (@ 0x40048100) POR captured PIO status 0 */
emilmont 10:3bc89ef62ce7 472 __I uint32_t PIOPORCAP1; /*!< (@ 0x40048104) POR captured PIO status 1 */
emilmont 10:3bc89ef62ce7 473 __I uint32_t RESERVED9[18];
emilmont 10:3bc89ef62ce7 474 __IO uint32_t BODCTRL; /*!< (@ 0x40048150) Brown-Out Detect */
emilmont 10:3bc89ef62ce7 475 __IO uint32_t SYSTCKCAL; /*!< (@ 0x40048154) System tick counter calibration */
emilmont 10:3bc89ef62ce7 476 __I uint32_t RESERVED10[6];
emilmont 10:3bc89ef62ce7 477 __IO uint32_t IRQLATENCY; /*!< (@ 0x40048170) IQR delay */
emilmont 10:3bc89ef62ce7 478 __IO uint32_t NMISRC; /*!< (@ 0x40048174) NMI Source Control */
emilmont 10:3bc89ef62ce7 479 __IO uint32_t PINTSEL[8]; /*!< (@ 0x40048178) GPIO Pin Interrupt Select register 0 */
emilmont 10:3bc89ef62ce7 480 __IO uint32_t USBCLKCTRL; /*!< (@ 0x40048198) USB clock control */
emilmont 10:3bc89ef62ce7 481 __I uint32_t USBCLKST; /*!< (@ 0x4004819C) USB clock status */
emilmont 10:3bc89ef62ce7 482 __I uint32_t RESERVED11[25];
emilmont 10:3bc89ef62ce7 483 __IO uint32_t STARTERP0; /*!< (@ 0x40048204) Start logic 0 interrupt wake-up enable register 0 */
emilmont 10:3bc89ef62ce7 484 __I uint32_t RESERVED12[3];
emilmont 10:3bc89ef62ce7 485 __IO uint32_t STARTERP1; /*!< (@ 0x40048214) Start logic 1 interrupt wake-up enable register 1 */
emilmont 10:3bc89ef62ce7 486 __I uint32_t RESERVED13[6];
emilmont 10:3bc89ef62ce7 487 __IO uint32_t PDSLEEPCFG; /*!< (@ 0x40048230) Power-down states in deep-sleep mode */
emilmont 10:3bc89ef62ce7 488 __IO uint32_t PDAWAKECFG; /*!< (@ 0x40048234) Power-down states for wake-up from deep-sleep */
emilmont 10:3bc89ef62ce7 489 __IO uint32_t PDRUNCFG; /*!< (@ 0x40048238) Power configuration register */
emilmont 10:3bc89ef62ce7 490 __I uint32_t RESERVED14[110];
emilmont 10:3bc89ef62ce7 491 __I uint32_t DEVICE_ID; /*!< (@ 0x400483F4) Device ID */
emilmont 10:3bc89ef62ce7 492 } LPC_SYSCON_Type;
emilmont 10:3bc89ef62ce7 493
emilmont 10:3bc89ef62ce7 494
emilmont 10:3bc89ef62ce7 495 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 496 // ----- GPIO_PIN_INT -----
emilmont 10:3bc89ef62ce7 497 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 498
emilmont 10:3bc89ef62ce7 499
emilmont 10:3bc89ef62ce7 500 /**
emilmont 10:3bc89ef62ce7 501 * @brief Product name title=UM10462 Chapter title=LPC11U1x GPIO Modification date=3/17/2011 Major revision=0 Minor revision=3 (GPIO_PIN_INT)
emilmont 10:3bc89ef62ce7 502 */
emilmont 10:3bc89ef62ce7 503
emilmont 10:3bc89ef62ce7 504 typedef struct { /*!< (@ 0x4004C000) GPIO_PIN_INT Structure */
emilmont 10:3bc89ef62ce7 505 __IO uint32_t ISEL; /*!< (@ 0x4004C000) Pin Interrupt Mode register */
emilmont 10:3bc89ef62ce7 506 __IO uint32_t IENR; /*!< (@ 0x4004C004) Pin Interrupt Enable (Rising) register */
emilmont 10:3bc89ef62ce7 507 __IO uint32_t SIENR; /*!< (@ 0x4004C008) Set Pin Interrupt Enable (Rising) register */
emilmont 10:3bc89ef62ce7 508 __IO uint32_t CIENR; /*!< (@ 0x4004C00C) Clear Pin Interrupt Enable (Rising) register */
emilmont 10:3bc89ef62ce7 509 __IO uint32_t IENF; /*!< (@ 0x4004C010) Pin Interrupt Enable Falling Edge / Active Level register */
emilmont 10:3bc89ef62ce7 510 __IO uint32_t SIENF; /*!< (@ 0x4004C014) Set Pin Interrupt Enable Falling Edge / Active Level register */
emilmont 10:3bc89ef62ce7 511 __IO uint32_t CIENF; /*!< (@ 0x4004C018) Clear Pin Interrupt Enable Falling Edge / Active Level address */
emilmont 10:3bc89ef62ce7 512 __IO uint32_t RISE; /*!< (@ 0x4004C01C) Pin Interrupt Rising Edge register */
emilmont 10:3bc89ef62ce7 513 __IO uint32_t FALL; /*!< (@ 0x4004C020) Pin Interrupt Falling Edge register */
emilmont 10:3bc89ef62ce7 514 __IO uint32_t IST; /*!< (@ 0x4004C024) Pin Interrupt Status register */
emilmont 10:3bc89ef62ce7 515 } LPC_GPIO_PIN_INT_Type;
emilmont 10:3bc89ef62ce7 516
emilmont 10:3bc89ef62ce7 517
emilmont 10:3bc89ef62ce7 518 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 519 // ----- GPIO_GROUP_INT0/1 -----
emilmont 10:3bc89ef62ce7 520 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 521
emilmont 10:3bc89ef62ce7 522
emilmont 10:3bc89ef62ce7 523 /**
emilmont 10:3bc89ef62ce7 524 * @brief Product name title=UM10462 Chapter title=LPC11U1x GPIO Modification date=3/17/2011 Major revision=0 Minor revision=3 (GPIO_GROUP_INT0)
emilmont 10:3bc89ef62ce7 525 */
emilmont 10:3bc89ef62ce7 526
emilmont 10:3bc89ef62ce7 527 typedef struct { /*!< (@ 0x4005C000) GPIO_GROUP_INT0 Structure */
emilmont 10:3bc89ef62ce7 528 __IO uint32_t CTRL; /*!< (@ 0x4005C000) GPIO grouped interrupt control register */
emilmont 10:3bc89ef62ce7 529 __I uint32_t RESERVED0[7];
emilmont 10:3bc89ef62ce7 530 __IO uint32_t PORT_POL[2]; /*!< (@ 0x4005C020) GPIO grouped interrupt port 0 polarity register */
emilmont 10:3bc89ef62ce7 531 __I uint32_t RESERVED1[6];
emilmont 10:3bc89ef62ce7 532 __IO uint32_t PORT_ENA[2]; /*!< (@ 0x4005C040) GPIO grouped interrupt port 0/1 enable register */
emilmont 10:3bc89ef62ce7 533 } LPC_GPIO_GROUP_INTx_Type;
emilmont 10:3bc89ef62ce7 534
emilmont 10:3bc89ef62ce7 535
emilmont 10:3bc89ef62ce7 536
emilmont 10:3bc89ef62ce7 537 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 538 // ----- USB -----
emilmont 10:3bc89ef62ce7 539 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 540
emilmont 10:3bc89ef62ce7 541
emilmont 10:3bc89ef62ce7 542 /**
emilmont 10:3bc89ef62ce7 543 * @brief Product name title=UM10462 Chapter title=LPC11U1x USB2.0device controller Modification date=3/16/2011 Major revision=0 Minor revision=3 (USB)
emilmont 10:3bc89ef62ce7 544 */
emilmont 10:3bc89ef62ce7 545
emilmont 10:3bc89ef62ce7 546 typedef struct { /*!< (@ 0x40080000) USB Structure */
emilmont 10:3bc89ef62ce7 547 __IO uint32_t DEVCMDSTAT; /*!< (@ 0x40080000) USB Device Command/Status register */
emilmont 10:3bc89ef62ce7 548 __IO uint32_t INFO; /*!< (@ 0x40080004) USB Info register */
emilmont 10:3bc89ef62ce7 549 __IO uint32_t EPLISTSTART; /*!< (@ 0x40080008) USB EP Command/Status List start address */
emilmont 10:3bc89ef62ce7 550 __IO uint32_t DATABUFSTART; /*!< (@ 0x4008000C) USB Data buffer start address */
emilmont 10:3bc89ef62ce7 551 __IO uint32_t LPM; /*!< (@ 0x40080010) Link Power Management register */
emilmont 10:3bc89ef62ce7 552 __IO uint32_t EPSKIP; /*!< (@ 0x40080014) USB Endpoint skip */
emilmont 10:3bc89ef62ce7 553 __IO uint32_t EPINUSE; /*!< (@ 0x40080018) USB Endpoint Buffer in use */
emilmont 10:3bc89ef62ce7 554 __IO uint32_t EPBUFCFG; /*!< (@ 0x4008001C) USB Endpoint Buffer Configuration register */
emilmont 10:3bc89ef62ce7 555 __IO uint32_t INTSTAT; /*!< (@ 0x40080020) USB interrupt status register */
emilmont 10:3bc89ef62ce7 556 __IO uint32_t INTEN; /*!< (@ 0x40080024) USB interrupt enable register */
emilmont 10:3bc89ef62ce7 557 __IO uint32_t INTSETSTAT; /*!< (@ 0x40080028) USB set interrupt status register */
emilmont 10:3bc89ef62ce7 558 __IO uint32_t INTROUTING; /*!< (@ 0x4008002C) USB interrupt routing register */
emilmont 10:3bc89ef62ce7 559 __I uint32_t RESERVED0[1];
emilmont 10:3bc89ef62ce7 560 __I uint32_t EPTOGGLE; /*!< (@ 0x40080034) USB Endpoint toggle register */
emilmont 10:3bc89ef62ce7 561 } LPC_USB_Type;
emilmont 10:3bc89ef62ce7 562
emilmont 10:3bc89ef62ce7 563
emilmont 10:3bc89ef62ce7 564 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 565 // ----- GPIO_PORT -----
emilmont 10:3bc89ef62ce7 566 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 567
emilmont 10:3bc89ef62ce7 568
emilmont 10:3bc89ef62ce7 569 /**
emilmont 10:3bc89ef62ce7 570 * @brief Product name title=UM10462 Chapter title=LPC11U1x GPIO Modification date=3/17/2011 Major revision=0 Minor revision=3 (GPIO_PORT)
emilmont 10:3bc89ef62ce7 571 */
emilmont 10:3bc89ef62ce7 572
emilmont 10:3bc89ef62ce7 573 typedef struct {
emilmont 10:3bc89ef62ce7 574 union {
emilmont 10:3bc89ef62ce7 575 struct {
emilmont 10:3bc89ef62ce7 576 __IO uint8_t B0[32]; /*!< (@ 0x50000000) Byte pin registers port 0; pins PIO0_0 to PIO0_31 */
emilmont 10:3bc89ef62ce7 577 __IO uint8_t B1[32]; /*!< (@ 0x50000020) Byte pin registers port 1 */
emilmont 10:3bc89ef62ce7 578 };
emilmont 10:3bc89ef62ce7 579 __IO uint8_t B[64]; /*!< (@ 0x50000000) Byte pin registers port 0/1 */
emilmont 10:3bc89ef62ce7 580 };
emilmont 10:3bc89ef62ce7 581 __I uint32_t RESERVED0[1008];
emilmont 10:3bc89ef62ce7 582 union {
emilmont 10:3bc89ef62ce7 583 struct {
emilmont 10:3bc89ef62ce7 584 __IO uint32_t W0[32]; /*!< (@ 0x50001000) Word pin registers port 0 */
emilmont 10:3bc89ef62ce7 585 __IO uint32_t W1[32]; /*!< (@ 0x50001080) Word pin registers port 1 */
emilmont 10:3bc89ef62ce7 586 };
emilmont 10:3bc89ef62ce7 587 __IO uint32_t W[64]; /*!< (@ 0x50001000) Word pin registers port 0/1 */
emilmont 10:3bc89ef62ce7 588 };
emilmont 10:3bc89ef62ce7 589 uint32_t RESERVED1[960];
emilmont 10:3bc89ef62ce7 590 __IO uint32_t DIR[2]; /* 0x2000 */
emilmont 10:3bc89ef62ce7 591 uint32_t RESERVED2[30];
emilmont 10:3bc89ef62ce7 592 __IO uint32_t MASK[2]; /* 0x2080 */
emilmont 10:3bc89ef62ce7 593 uint32_t RESERVED3[30];
emilmont 10:3bc89ef62ce7 594 __IO uint32_t PIN[2]; /* 0x2100 */
emilmont 10:3bc89ef62ce7 595 uint32_t RESERVED4[30];
emilmont 10:3bc89ef62ce7 596 __IO uint32_t MPIN[2]; /* 0x2180 */
emilmont 10:3bc89ef62ce7 597 uint32_t RESERVED5[30];
emilmont 10:3bc89ef62ce7 598 __IO uint32_t SET[2]; /* 0x2200 */
emilmont 10:3bc89ef62ce7 599 uint32_t RESERVED6[30];
emilmont 10:3bc89ef62ce7 600 __O uint32_t CLR[2]; /* 0x2280 */
emilmont 10:3bc89ef62ce7 601 uint32_t RESERVED7[30];
emilmont 10:3bc89ef62ce7 602 __O uint32_t NOT[2]; /* 0x2300 */
emilmont 10:3bc89ef62ce7 603 } LPC_GPIO_Type;
emilmont 10:3bc89ef62ce7 604
emilmont 10:3bc89ef62ce7 605
emilmont 10:3bc89ef62ce7 606 #if defined ( __CC_ARM )
emilmont 10:3bc89ef62ce7 607 #pragma no_anon_unions
emilmont 10:3bc89ef62ce7 608 #endif
emilmont 10:3bc89ef62ce7 609
emilmont 10:3bc89ef62ce7 610
emilmont 10:3bc89ef62ce7 611 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 612 // ----- Peripheral memory map -----
emilmont 10:3bc89ef62ce7 613 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 614
emilmont 10:3bc89ef62ce7 615 #define LPC_I2C_BASE (0x40000000)
emilmont 10:3bc89ef62ce7 616 #define LPC_WWDT_BASE (0x40004000)
emilmont 10:3bc89ef62ce7 617 #define LPC_USART_BASE (0x40008000)
emilmont 10:3bc89ef62ce7 618 #define LPC_CT16B0_BASE (0x4000C000)
emilmont 10:3bc89ef62ce7 619 #define LPC_CT16B1_BASE (0x40010000)
emilmont 10:3bc89ef62ce7 620 #define LPC_CT32B0_BASE (0x40014000)
emilmont 10:3bc89ef62ce7 621 #define LPC_CT32B1_BASE (0x40018000)
emilmont 10:3bc89ef62ce7 622 #define LPC_ADC_BASE (0x4001C000)
emilmont 10:3bc89ef62ce7 623 #define LPC_PMU_BASE (0x40038000)
emilmont 10:3bc89ef62ce7 624 #define LPC_FLASHCTRL_BASE (0x4003C000)
emilmont 10:3bc89ef62ce7 625 #define LPC_SSP0_BASE (0x40040000)
emilmont 10:3bc89ef62ce7 626 #define LPC_SSP1_BASE (0x40058000)
emilmont 10:3bc89ef62ce7 627 #define LPC_IOCON_BASE (0x40044000)
emilmont 10:3bc89ef62ce7 628 #define LPC_SYSCON_BASE (0x40048000)
emilmont 10:3bc89ef62ce7 629 #define LPC_GPIO_PIN_INT_BASE (0x4004C000)
emilmont 10:3bc89ef62ce7 630 #define LPC_GPIO_GROUP_INT0_BASE (0x4005C000)
emilmont 10:3bc89ef62ce7 631 #define LPC_GPIO_GROUP_INT1_BASE (0x40060000)
emilmont 10:3bc89ef62ce7 632 #define LPC_USB_BASE (0x40080000)
emilmont 10:3bc89ef62ce7 633 #define LPC_GPIO_BASE (0x50000000)
emilmont 10:3bc89ef62ce7 634
emilmont 10:3bc89ef62ce7 635
emilmont 10:3bc89ef62ce7 636 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 637 // ----- Peripheral declaration -----
emilmont 10:3bc89ef62ce7 638 // ------------------------------------------------------------------------------------------------
emilmont 10:3bc89ef62ce7 639
emilmont 10:3bc89ef62ce7 640 #define LPC_I2C ((LPC_I2C_Type *) LPC_I2C_BASE)
emilmont 10:3bc89ef62ce7 641 #define LPC_WWDT ((LPC_WWDT_Type *) LPC_WWDT_BASE)
emilmont 10:3bc89ef62ce7 642 #define LPC_USART ((LPC_USART_Type *) LPC_USART_BASE)
emilmont 10:3bc89ef62ce7 643 #define LPC_CT16B0 ((LPC_CTxxBx_Type *) LPC_CT16B0_BASE)
emilmont 10:3bc89ef62ce7 644 #define LPC_CT16B1 ((LPC_CTxxBx_Type *) LPC_CT16B1_BASE)
emilmont 10:3bc89ef62ce7 645 #define LPC_CT32B0 ((LPC_CTxxBx_Type *) LPC_CT32B0_BASE)
emilmont 10:3bc89ef62ce7 646 #define LPC_CT32B1 ((LPC_CTxxBx_Type *) LPC_CT32B1_BASE)
emilmont 10:3bc89ef62ce7 647 #define LPC_ADC ((LPC_ADC_Type *) LPC_ADC_BASE)
emilmont 10:3bc89ef62ce7 648 #define LPC_PMU ((LPC_PMU_Type *) LPC_PMU_BASE)
emilmont 10:3bc89ef62ce7 649 #define LPC_FLASHCTRL ((LPC_FLASHCTRL_Type *) LPC_FLASHCTRL_BASE)
emilmont 10:3bc89ef62ce7 650 #define LPC_SSP0 ((LPC_SSPx_Type *) LPC_SSP0_BASE)
emilmont 10:3bc89ef62ce7 651 #define LPC_SSP1 ((LPC_SSPx_Type *) LPC_SSP1_BASE)
emilmont 10:3bc89ef62ce7 652 #define LPC_IOCON ((LPC_IOCON_Type *) LPC_IOCON_BASE)
emilmont 10:3bc89ef62ce7 653 #define LPC_SYSCON ((LPC_SYSCON_Type *) LPC_SYSCON_BASE)
emilmont 10:3bc89ef62ce7 654 #define LPC_GPIO_PIN_INT ((LPC_GPIO_PIN_INT_Type *) LPC_GPIO_PIN_INT_BASE)
emilmont 10:3bc89ef62ce7 655 #define LPC_GPIO_GROUP_INT0 ((LPC_GPIO_GROUP_INTx_Type*) LPC_GPIO_GROUP_INT0_BASE)
emilmont 10:3bc89ef62ce7 656 #define LPC_GPIO_GROUP_INT1 ((LPC_GPIO_GROUP_INTx_Type*) LPC_GPIO_GROUP_INT1_BASE)
emilmont 10:3bc89ef62ce7 657 #define LPC_USB ((LPC_USB_Type *) LPC_USB_BASE)
emilmont 10:3bc89ef62ce7 658 #define LPC_GPIO ((LPC_GPIO_Type *) LPC_GPIO_BASE)
emilmont 10:3bc89ef62ce7 659
emilmont 10:3bc89ef62ce7 660
emilmont 10:3bc89ef62ce7 661 /** @} */ /* End of group Device_Peripheral_Registers */
emilmont 10:3bc89ef62ce7 662 /** @} */ /* End of group (null) */
emilmont 10:3bc89ef62ce7 663 /** @} */ /* End of group LPC11Uxx */
emilmont 10:3bc89ef62ce7 664
emilmont 10:3bc89ef62ce7 665 #ifdef __cplusplus
emilmont 10:3bc89ef62ce7 666 }
emilmont 10:3bc89ef62ce7 667 #endif
emilmont 10:3bc89ef62ce7 668
emilmont 10:3bc89ef62ce7 669
emilmont 10:3bc89ef62ce7 670 #endif // __LPC11UXX_H__