mbed library sources
Fork of mbed-src by
vendor/NXP/LPC11U24/cmsis/LPC11Uxx.h@10:3bc89ef62ce7, 2013-06-14 (annotated)
- Committer:
- emilmont
- Date:
- Fri Jun 14 17:49:17 2013 +0100
- Revision:
- 10:3bc89ef62ce7
Unify mbed library sources
Who changed what in which revision?
User | Revision | Line number | New 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__ |