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:
mbed_official
Date:
Fri Jun 27 16:30:08 2014 +0100
Revision:
243:1b2bee05fe98
Parent:
30:91c1d09ada54
Synchronized with git revision f74be83b0461a86c139b029e42d632c278656b83

Full URL: https://github.com/mbedmicro/mbed/commit/f74be83b0461a86c139b029e42d632c278656b83/

LPCCAPPUCCINO] initial port

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 30:91c1d09ada54 1 /****************************************************************************
mbed_official 30:91c1d09ada54 2 * $Id:: LPC11xx.h 9198 2012-05-29 usb00175 $
mbed_official 30:91c1d09ada54 3 * Project: NXP LPC11xx software example
mbed_official 30:91c1d09ada54 4 *
mbed_official 30:91c1d09ada54 5 * Description:
mbed_official 30:91c1d09ada54 6 * CMSIS Cortex-M0 Core Peripheral Access Layer Header File for
mbed_official 30:91c1d09ada54 7 * NXP LPC11xx Device Series
mbed_official 30:91c1d09ada54 8
mbed_official 30:91c1d09ada54 9 ****************************************************************************
mbed_official 30:91c1d09ada54 10 * Software that is described herein is for illustrative purposes only
mbed_official 30:91c1d09ada54 11 * which provides customers with programming information regarding the
mbed_official 30:91c1d09ada54 12 * products. This software is supplied "AS IS" without any warranties.
mbed_official 30:91c1d09ada54 13 * NXP Semiconductors assumes no responsibility or liability for the
mbed_official 30:91c1d09ada54 14 * use of the software, conveys no license or title under any patent,
mbed_official 30:91c1d09ada54 15 * copyright, or mask work right to the product. NXP Semiconductors
mbed_official 30:91c1d09ada54 16 * reserves the right to make changes in the software without
mbed_official 30:91c1d09ada54 17 * notification. NXP Semiconductors also make no representation or
mbed_official 30:91c1d09ada54 18 * warranty that such application will be suitable for the specified
mbed_official 30:91c1d09ada54 19 * use without further testing or modification.
mbed_official 30:91c1d09ada54 20
mbed_official 30:91c1d09ada54 21 * Permission to use, copy, modify, and distribute this software and its
mbed_official 30:91c1d09ada54 22 * documentation is hereby granted, under NXP Semiconductors'
mbed_official 30:91c1d09ada54 23 * relevant copyright in the software, without fee, provided that it
mbed_official 30:91c1d09ada54 24 * is used in conjunction with NXP Semiconductors microcontrollers. This
mbed_official 30:91c1d09ada54 25 * copyright, permission, and disclaimer notice must appear in all copies of
mbed_official 30:91c1d09ada54 26 * this code.
mbed_official 30:91c1d09ada54 27
mbed_official 30:91c1d09ada54 28 ****************************************************************************/
mbed_official 30:91c1d09ada54 29 #ifndef __LPC11xx_H__
mbed_official 30:91c1d09ada54 30 #define __LPC11xx_H__
mbed_official 30:91c1d09ada54 31
mbed_official 30:91c1d09ada54 32 #ifdef __cplusplus
mbed_official 30:91c1d09ada54 33 extern "C" {
mbed_official 30:91c1d09ada54 34 #endif
mbed_official 30:91c1d09ada54 35
mbed_official 30:91c1d09ada54 36 /** @addtogroup LPC11xx_Definitions LPC11xx Definitions
mbed_official 30:91c1d09ada54 37 This file defines all structures and symbols for LPC11xx:
mbed_official 30:91c1d09ada54 38 - Registers and bitfields
mbed_official 30:91c1d09ada54 39 - peripheral base address
mbed_official 30:91c1d09ada54 40 - peripheral ID
mbed_official 30:91c1d09ada54 41 - PIO definitions
mbed_official 30:91c1d09ada54 42 @{
mbed_official 30:91c1d09ada54 43 */
mbed_official 30:91c1d09ada54 44
mbed_official 30:91c1d09ada54 45
mbed_official 30:91c1d09ada54 46 /******************************************************************************/
mbed_official 30:91c1d09ada54 47 /* Processor and Core Peripherals */
mbed_official 30:91c1d09ada54 48 /******************************************************************************/
mbed_official 30:91c1d09ada54 49 /** @addtogroup LPC11xx_CMSIS LPC11xx CMSIS Definitions
mbed_official 30:91c1d09ada54 50 Configuration of the Cortex-M0 Processor and Core Peripherals
mbed_official 30:91c1d09ada54 51 @{
mbed_official 30:91c1d09ada54 52 */
mbed_official 30:91c1d09ada54 53
mbed_official 30:91c1d09ada54 54 /*
mbed_official 30:91c1d09ada54 55 * ==========================================================================
mbed_official 30:91c1d09ada54 56 * ---------- Interrupt Number Definition -----------------------------------
mbed_official 30:91c1d09ada54 57 * ==========================================================================
mbed_official 30:91c1d09ada54 58 */
mbed_official 30:91c1d09ada54 59 typedef enum IRQn
mbed_official 30:91c1d09ada54 60 {
mbed_official 30:91c1d09ada54 61 /****** Cortex-M0 Processor Exceptions Numbers ***************************************************/
mbed_official 30:91c1d09ada54 62 NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
mbed_official 30:91c1d09ada54 63 HardFault_IRQn = -13, /*!< 3 Cortex-M0 Hard Fault Interrupt */
mbed_official 30:91c1d09ada54 64 SVCall_IRQn = -5, /*!< 11 Cortex-M0 SV Call Interrupt */
mbed_official 30:91c1d09ada54 65 PendSV_IRQn = -2, /*!< 14 Cortex-M0 Pend SV Interrupt */
mbed_official 30:91c1d09ada54 66 SysTick_IRQn = -1, /*!< 15 Cortex-M0 System Tick Interrupt */
mbed_official 30:91c1d09ada54 67
mbed_official 30:91c1d09ada54 68 /****** LPC11Cxx or LPC11xx Specific Interrupt Numbers *******************************************************/
mbed_official 30:91c1d09ada54 69 WAKEUP0_IRQn = 0, /*!< All I/O pins can be used as wakeup source. */
mbed_official 30:91c1d09ada54 70 WAKEUP1_IRQn = 1, /*!< There are 13 pins in total for LPC11xx */
mbed_official 30:91c1d09ada54 71 WAKEUP2_IRQn = 2,
mbed_official 30:91c1d09ada54 72 WAKEUP3_IRQn = 3,
mbed_official 30:91c1d09ada54 73 WAKEUP4_IRQn = 4,
mbed_official 30:91c1d09ada54 74 WAKEUP5_IRQn = 5,
mbed_official 30:91c1d09ada54 75 WAKEUP6_IRQn = 6,
mbed_official 30:91c1d09ada54 76 WAKEUP7_IRQn = 7,
mbed_official 30:91c1d09ada54 77 WAKEUP8_IRQn = 8,
mbed_official 30:91c1d09ada54 78 WAKEUP9_IRQn = 9,
mbed_official 30:91c1d09ada54 79 WAKEUP10_IRQn = 10,
mbed_official 30:91c1d09ada54 80 WAKEUP11_IRQn = 11,
mbed_official 30:91c1d09ada54 81 WAKEUP12_IRQn = 12,
mbed_official 30:91c1d09ada54 82 CAN_IRQn = 13, /*!< CAN Interrupt */
mbed_official 30:91c1d09ada54 83 SSP1_IRQn = 14, /*!< SSP1 Interrupt */
mbed_official 30:91c1d09ada54 84 I2C_IRQn = 15, /*!< I2C Interrupt */
mbed_official 30:91c1d09ada54 85 TIMER_16_0_IRQn = 16, /*!< 16-bit Timer0 Interrupt */
mbed_official 30:91c1d09ada54 86 TIMER_16_1_IRQn = 17, /*!< 16-bit Timer1 Interrupt */
mbed_official 30:91c1d09ada54 87 TIMER_32_0_IRQn = 18, /*!< 32-bit Timer0 Interrupt */
mbed_official 30:91c1d09ada54 88 TIMER_32_1_IRQn = 19, /*!< 32-bit Timer1 Interrupt */
mbed_official 30:91c1d09ada54 89 SSP0_IRQn = 20, /*!< SSP0 Interrupt */
mbed_official 30:91c1d09ada54 90 UART_IRQn = 21, /*!< UART Interrupt */
mbed_official 30:91c1d09ada54 91 Reserved0_IRQn = 22, /*!< Reserved Interrupt */
mbed_official 30:91c1d09ada54 92 Reserved1_IRQn = 23,
mbed_official 30:91c1d09ada54 93 ADC_IRQn = 24, /*!< A/D Converter Interrupt */
mbed_official 30:91c1d09ada54 94 WDT_IRQn = 25, /*!< Watchdog timer Interrupt */
mbed_official 30:91c1d09ada54 95 BOD_IRQn = 26, /*!< Brown Out Detect(BOD) Interrupt */
mbed_official 30:91c1d09ada54 96 FMC_IRQn = 27, /*!< Flash Memory Controller Interrupt */
mbed_official 30:91c1d09ada54 97 EINT3_IRQn = 28, /*!< External Interrupt 3 Interrupt */
mbed_official 30:91c1d09ada54 98 EINT2_IRQn = 29, /*!< External Interrupt 2 Interrupt */
mbed_official 30:91c1d09ada54 99 EINT1_IRQn = 30, /*!< External Interrupt 1 Interrupt */
mbed_official 30:91c1d09ada54 100 EINT0_IRQn = 31, /*!< External Interrupt 0 Interrupt */
mbed_official 30:91c1d09ada54 101 } IRQn_Type;
mbed_official 30:91c1d09ada54 102
mbed_official 30:91c1d09ada54 103 /*
mbed_official 30:91c1d09ada54 104 * ==========================================================================
mbed_official 30:91c1d09ada54 105 * ----------- Processor and Core Peripheral Section ------------------------
mbed_official 30:91c1d09ada54 106 * ==========================================================================
mbed_official 30:91c1d09ada54 107 */
mbed_official 30:91c1d09ada54 108
mbed_official 30:91c1d09ada54 109 /* Configuration of the Cortex-M0 Processor and Core Peripherals */
mbed_official 30:91c1d09ada54 110 #define __MPU_PRESENT 0 /*!< MPU present or not */
mbed_official 30:91c1d09ada54 111 #define __NVIC_PRIO_BITS 2 /*!< Number of Bits used for Priority Levels */
mbed_official 30:91c1d09ada54 112 #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
mbed_official 30:91c1d09ada54 113
mbed_official 30:91c1d09ada54 114 /*@}*/ /* end of group LPC11xx_CMSIS */
mbed_official 30:91c1d09ada54 115
mbed_official 30:91c1d09ada54 116
mbed_official 30:91c1d09ada54 117 #include "core_cm0.h" /* Cortex-M0 processor and core peripherals */
mbed_official 30:91c1d09ada54 118 #include "system_LPC11xx.h" /* System Header */
mbed_official 30:91c1d09ada54 119
mbed_official 30:91c1d09ada54 120
mbed_official 30:91c1d09ada54 121 /******************************************************************************/
mbed_official 30:91c1d09ada54 122 /* Device Specific Peripheral Registers structures */
mbed_official 30:91c1d09ada54 123 /******************************************************************************/
mbed_official 30:91c1d09ada54 124
mbed_official 30:91c1d09ada54 125 #if defined ( __CC_ARM )
mbed_official 30:91c1d09ada54 126 #pragma anon_unions
mbed_official 30:91c1d09ada54 127 #endif
mbed_official 30:91c1d09ada54 128
mbed_official 30:91c1d09ada54 129 /*------------- System Control (SYSCON) --------------------------------------*/
mbed_official 30:91c1d09ada54 130 /** @addtogroup LPC11xx_SYSCON LPC11xx System Control Block
mbed_official 30:91c1d09ada54 131 @{
mbed_official 30:91c1d09ada54 132 */
mbed_official 30:91c1d09ada54 133 typedef struct
mbed_official 30:91c1d09ada54 134 {
mbed_official 30:91c1d09ada54 135 __IO uint32_t SYSMEMREMAP; /*!< Offset: 0x000 System memory remap (R/W) */
mbed_official 30:91c1d09ada54 136 __IO uint32_t PRESETCTRL; /*!< Offset: 0x004 Peripheral reset control (R/W) */
mbed_official 30:91c1d09ada54 137 __IO uint32_t SYSPLLCTRL; /*!< Offset: 0x008 System PLL control (R/W) */
mbed_official 30:91c1d09ada54 138 __I uint32_t SYSPLLSTAT; /*!< Offset: 0x00C System PLL status (R/ ) */
mbed_official 30:91c1d09ada54 139 uint32_t RESERVED0[4];
mbed_official 30:91c1d09ada54 140
mbed_official 30:91c1d09ada54 141 __IO uint32_t SYSOSCCTRL; /*!< Offset: 0x020 System oscillator control (R/W) */
mbed_official 30:91c1d09ada54 142 __IO uint32_t WDTOSCCTRL; /*!< Offset: 0x024 Watchdog oscillator control (R/W) */
mbed_official 30:91c1d09ada54 143 __IO uint32_t IRCCTRL; /*!< Offset: 0x028 IRC control (R/W) */
mbed_official 30:91c1d09ada54 144 uint32_t RESERVED1[1];
mbed_official 30:91c1d09ada54 145 __IO uint32_t SYSRSTSTAT; /*!< Offset: 0x030 System reset status Register (R/ ) */
mbed_official 30:91c1d09ada54 146 uint32_t RESERVED2[3];
mbed_official 30:91c1d09ada54 147 __IO uint32_t SYSPLLCLKSEL; /*!< Offset: 0x040 System PLL clock source select (R/W) */
mbed_official 30:91c1d09ada54 148 __IO uint32_t SYSPLLCLKUEN; /*!< Offset: 0x044 System PLL clock source update enable (R/W) */
mbed_official 30:91c1d09ada54 149 uint32_t RESERVED3[10];
mbed_official 30:91c1d09ada54 150
mbed_official 30:91c1d09ada54 151 __IO uint32_t MAINCLKSEL; /*!< Offset: 0x070 Main clock source select (R/W) */
mbed_official 30:91c1d09ada54 152 __IO uint32_t MAINCLKUEN; /*!< Offset: 0x074 Main clock source update enable (R/W) */
mbed_official 30:91c1d09ada54 153 __IO uint32_t SYSAHBCLKDIV; /*!< Offset: 0x078 System AHB clock divider (R/W) */
mbed_official 30:91c1d09ada54 154 uint32_t RESERVED4[1];
mbed_official 30:91c1d09ada54 155
mbed_official 30:91c1d09ada54 156 __IO uint32_t SYSAHBCLKCTRL; /*!< Offset: 0x080 System AHB clock control (R/W) */
mbed_official 30:91c1d09ada54 157 uint32_t RESERVED5[4];
mbed_official 30:91c1d09ada54 158 __IO uint32_t SSP0CLKDIV; /*!< Offset: 0x094 SSP0 clock divider (R/W) */
mbed_official 30:91c1d09ada54 159 __IO uint32_t UARTCLKDIV; /*!< Offset: 0x098 UART clock divider (R/W) */
mbed_official 30:91c1d09ada54 160 __IO uint32_t SSP1CLKDIV; /*!< Offset: 0x09C SSP1 clock divider (R/W) */
mbed_official 30:91c1d09ada54 161 uint32_t RESERVED6[12];
mbed_official 30:91c1d09ada54 162
mbed_official 30:91c1d09ada54 163 __IO uint32_t WDTCLKSEL; /*!< Offset: 0x0D0 WDT clock source select (R/W) */
mbed_official 30:91c1d09ada54 164 __IO uint32_t WDTCLKUEN; /*!< Offset: 0x0D4 WDT clock source update enable (R/W) */
mbed_official 30:91c1d09ada54 165 __IO uint32_t WDTCLKDIV; /*!< Offset: 0x0D8 WDT clock divider (R/W) */
mbed_official 30:91c1d09ada54 166 uint32_t RESERVED8[1];
mbed_official 30:91c1d09ada54 167 __IO uint32_t CLKOUTCLKSEL; /*!< Offset: 0x0E0 CLKOUT clock source select (R/W) */
mbed_official 30:91c1d09ada54 168 __IO uint32_t CLKOUTUEN; /*!< Offset: 0x0E4 CLKOUT clock source update enable (R/W) */
mbed_official 30:91c1d09ada54 169 __IO uint32_t CLKOUTDIV; /*!< Offset: 0x0E8 CLKOUT clock divider (R/W) */
mbed_official 30:91c1d09ada54 170 uint32_t RESERVED9[5];
mbed_official 30:91c1d09ada54 171
mbed_official 30:91c1d09ada54 172 __IO uint32_t PIOPORCAP0; /*!< Offset: 0x100 POR captured PIO status 0 (R/ ) */
mbed_official 30:91c1d09ada54 173 __IO uint32_t PIOPORCAP1; /*!< Offset: 0x104 POR captured PIO status 1 (R/ ) */
mbed_official 30:91c1d09ada54 174 uint32_t RESERVED10[18];
mbed_official 30:91c1d09ada54 175 __IO uint32_t BODCTRL; /*!< Offset: 0x150 BOD control (R/W) */
mbed_official 30:91c1d09ada54 176 __IO uint32_t SYSTCKCAL; /*!< Offset: 0x154 System tick counter calibration (R/W) */
mbed_official 30:91c1d09ada54 177
mbed_official 30:91c1d09ada54 178 uint32_t RESERVED13[7];
mbed_official 30:91c1d09ada54 179 __IO uint32_t NMISRC; /*!< Offset: 0x174 NMI source selection register (R/W) */
mbed_official 30:91c1d09ada54 180 uint32_t RESERVED14[34];
mbed_official 30:91c1d09ada54 181
mbed_official 30:91c1d09ada54 182 __IO uint32_t STARTAPRP0; /*!< Offset: 0x200 Start logic edge control Register 0 (R/W) */
mbed_official 30:91c1d09ada54 183 __IO uint32_t STARTERP0; /*!< Offset: 0x204 Start logic signal enable Register 0 (R/W) */
mbed_official 30:91c1d09ada54 184 __O uint32_t STARTRSRP0CLR; /*!< Offset: 0x208 Start logic reset Register 0 ( /W) */
mbed_official 30:91c1d09ada54 185 __I uint32_t STARTSRP0; /*!< Offset: 0x20C Start logic status Register 0 (R/) */
mbed_official 30:91c1d09ada54 186 __IO uint32_t STARTAPRP1; /*!< Offset: 0x210 Start logic edge control Register 0 (R/W). (LPC11UXX only) */
mbed_official 30:91c1d09ada54 187 __IO uint32_t STARTERP1; /*!< Offset: 0x214 Start logic signal enable Register 0 (R/W). (LPC11UXX only) */
mbed_official 30:91c1d09ada54 188 __O uint32_t STARTRSRP1CLR; /*!< Offset: 0x218 Start logic reset Register 0 ( /W). (LPC11UXX only) */
mbed_official 30:91c1d09ada54 189 __IO uint32_t STARTSRP1; /*!< Offset: 0x21C Start logic status Register 0 (R/W). (LPC11UXX only) */
mbed_official 30:91c1d09ada54 190 uint32_t RESERVED17[4];
mbed_official 30:91c1d09ada54 191
mbed_official 30:91c1d09ada54 192 __IO uint32_t PDSLEEPCFG; /*!< Offset: 0x230 Power-down states in Deep-sleep mode (R/W) */
mbed_official 30:91c1d09ada54 193 __IO uint32_t PDAWAKECFG; /*!< Offset: 0x234 Power-down states after wake-up (R/W) */
mbed_official 30:91c1d09ada54 194 __IO uint32_t PDRUNCFG; /*!< Offset: 0x238 Power-down configuration Register (R/W) */
mbed_official 30:91c1d09ada54 195 uint32_t RESERVED15[110];
mbed_official 30:91c1d09ada54 196 __I uint32_t DEVICE_ID; /*!< Offset: 0x3F4 Device ID (R/ ) */
mbed_official 30:91c1d09ada54 197 } LPC_SYSCON_TypeDef;
mbed_official 30:91c1d09ada54 198 /*@}*/ /* end of group LPC11xx_SYSCON */
mbed_official 30:91c1d09ada54 199
mbed_official 30:91c1d09ada54 200
mbed_official 30:91c1d09ada54 201 /*------------- Pin Connect Block (IOCON) --------------------------------*/
mbed_official 30:91c1d09ada54 202 /** @addtogroup LPC11xx_IOCON LPC11xx I/O Configuration Block
mbed_official 30:91c1d09ada54 203 @{
mbed_official 30:91c1d09ada54 204 */
mbed_official 30:91c1d09ada54 205 typedef struct
mbed_official 30:91c1d09ada54 206 {
mbed_official 30:91c1d09ada54 207 __IO uint32_t PIO2_6; /*!< Offset: 0x000 I/O configuration for pin PIO2_6 (R/W) */
mbed_official 30:91c1d09ada54 208 uint32_t RESERVED0[1];
mbed_official 30:91c1d09ada54 209 __IO uint32_t PIO2_0; /*!< Offset: 0x008 I/O configuration for pin PIO2_0/DTR/SSEL1 (R/W) */
mbed_official 30:91c1d09ada54 210 __IO uint32_t RESET_PIO0_0; /*!< Offset: 0x00C I/O configuration for pin RESET/PIO0_0 (R/W) */
mbed_official 30:91c1d09ada54 211 __IO uint32_t PIO0_1; /*!< Offset: 0x010 I/O configuration for pin PIO0_1/CLKOUT/CT32B0_MAT2 (R/W) */
mbed_official 30:91c1d09ada54 212 __IO uint32_t PIO1_8; /*!< Offset: 0x014 I/O configuration for pin PIO1_8/CT16B1_CAP0 (R/W) */
mbed_official 30:91c1d09ada54 213 __IO uint32_t SSEL1_LOC; /*!< Offset: 0x018 IOCON SSEL1 location register (IOCON_SSEL1_LOC, address 0x4004 4018) */
mbed_official 30:91c1d09ada54 214 __IO uint32_t PIO0_2; /*!< Offset: 0x01C I/O configuration for pin PIO0_2/SSEL0/CT16B0_CAP0 (R/W) */
mbed_official 30:91c1d09ada54 215
mbed_official 30:91c1d09ada54 216 __IO uint32_t PIO2_7; /*!< Offset: 0x020 I/O configuration for pin PIO2_7 (R/W) */
mbed_official 30:91c1d09ada54 217 __IO uint32_t PIO2_8; /*!< Offset: 0x024 I/O configuration for pin PIO2_8 (R/W) */
mbed_official 30:91c1d09ada54 218 __IO uint32_t PIO2_1; /*!< Offset: 0x028 I/O configuration for pin PIO2_1/nDSR/SCK1 (R/W) */
mbed_official 30:91c1d09ada54 219 __IO uint32_t PIO0_3; /*!< Offset: 0x02C I/O configuration for pin PIO0_3 (R/W) */
mbed_official 30:91c1d09ada54 220 __IO uint32_t PIO0_4; /*!< Offset: 0x030 I/O configuration for pin PIO0_4/SCL (R/W) */
mbed_official 30:91c1d09ada54 221 __IO uint32_t PIO0_5; /*!< Offset: 0x034 I/O configuration for pin PIO0_5/SDA (R/W) */
mbed_official 30:91c1d09ada54 222 __IO uint32_t PIO1_9; /*!< Offset: 0x038 I/O configuration for pin PIO1_9/CT16B1_MAT0 (R/W) */
mbed_official 30:91c1d09ada54 223 __IO uint32_t PIO3_4; /*!< Offset: 0x03C I/O configuration for pin PIO3_4 (R/W) */
mbed_official 30:91c1d09ada54 224
mbed_official 30:91c1d09ada54 225 __IO uint32_t PIO2_4; /*!< Offset: 0x040 I/O configuration for pin PIO2_4 (R/W) */
mbed_official 30:91c1d09ada54 226 __IO uint32_t PIO2_5; /*!< Offset: 0x044 I/O configuration for pin PIO2_5 (R/W) */
mbed_official 30:91c1d09ada54 227 __IO uint32_t PIO3_5; /*!< Offset: 0x048 I/O configuration for pin PIO3_5 (R/W) */
mbed_official 30:91c1d09ada54 228 __IO uint32_t PIO0_6; /*!< Offset: 0x04C I/O configuration for pin PIO0_6/SCK0 (R/W) */
mbed_official 30:91c1d09ada54 229 __IO uint32_t PIO0_7; /*!< Offset: 0x050 I/O configuration for pin PIO0_7/nCTS (R/W) */
mbed_official 30:91c1d09ada54 230 __IO uint32_t PIO2_9; /*!< Offset: 0x054 I/O configuration for pin PIO2_9 (R/W) */
mbed_official 30:91c1d09ada54 231 __IO uint32_t PIO2_10; /*!< Offset: 0x058 I/O configuration for pin PIO2_10 (R/W) */
mbed_official 30:91c1d09ada54 232 __IO uint32_t PIO2_2; /*!< Offset: 0x05C I/O configuration for pin PIO2_2/DCD/MISO1 (R/W) */
mbed_official 30:91c1d09ada54 233
mbed_official 30:91c1d09ada54 234 __IO uint32_t PIO0_8; /*!< Offset: 0x060 I/O configuration for pin PIO0_8/MISO0/CT16B0_MAT0 (R/W) */
mbed_official 30:91c1d09ada54 235 __IO uint32_t PIO0_9; /*!< Offset: 0x064 I/O configuration for pin PIO0_9/MOSI0/CT16B0_MAT1 (R/W) */
mbed_official 30:91c1d09ada54 236 __IO uint32_t SWCLK_PIO0_10; /*!< Offset: 0x068 I/O configuration for pin SWCLK/PIO0_10/SCK0/CT16B0_MAT2 (R/W) */
mbed_official 30:91c1d09ada54 237 __IO uint32_t PIO1_10; /*!< Offset: 0x06C I/O configuration for pin PIO1_10/AD6/CT16B1_MAT1 (R/W) */
mbed_official 30:91c1d09ada54 238 __IO uint32_t PIO2_11; /*!< Offset: 0x070 I/O configuration for pin PIO2_11/SCK0 (R/W) */
mbed_official 30:91c1d09ada54 239 __IO uint32_t R_PIO0_11; /*!< Offset: 0x074 I/O configuration for pin TDI/PIO0_11/AD0/CT32B0_MAT3 (R/W) */
mbed_official 30:91c1d09ada54 240 __IO uint32_t R_PIO1_0; /*!< Offset: 0x078 I/O configuration for pin TMS/PIO1_0/AD1/CT32B1_CAP0 (R/W) */
mbed_official 30:91c1d09ada54 241 __IO uint32_t R_PIO1_1; /*!< Offset: 0x07C I/O configuration for pin TDO/PIO1_1/AD2/CT32B1_MAT0 (R/W) */
mbed_official 30:91c1d09ada54 242
mbed_official 30:91c1d09ada54 243 __IO uint32_t R_PIO1_2; /*!< Offset: 0x080 I/O configuration for pin nTRST/PIO1_2/AD3/CT32B1_MAT1 (R/W) */
mbed_official 30:91c1d09ada54 244 __IO uint32_t PIO3_0; /*!< Offset: 0x084 I/O configuration for pin PIO3_0/nDTR (R/W) */
mbed_official 30:91c1d09ada54 245 __IO uint32_t PIO3_1; /*!< Offset: 0x088 I/O configuration for pin PIO3_1/nDSR (R/W) */
mbed_official 30:91c1d09ada54 246 __IO uint32_t PIO2_3; /*!< Offset: 0x08C I/O configuration for pin PIO2_3/RI/MOSI1 (R/W) */
mbed_official 30:91c1d09ada54 247 __IO uint32_t SWDIO_PIO1_3; /*!< Offset: 0x090 I/O configuration for pin SWDIO/PIO1_3/AD4/CT32B1_MAT2 (R/W) */
mbed_official 30:91c1d09ada54 248 __IO uint32_t PIO1_4; /*!< Offset: 0x094 I/O configuration for pin PIO1_4/AD5/CT32B1_MAT3 (R/W) */
mbed_official 30:91c1d09ada54 249 __IO uint32_t PIO1_11; /*!< Offset: 0x098 I/O configuration for pin PIO1_11/AD7 (R/W) */
mbed_official 30:91c1d09ada54 250 __IO uint32_t PIO3_2; /*!< Offset: 0x09C I/O configuration for pin PIO3_2/nDCD (R/W) */
mbed_official 30:91c1d09ada54 251
mbed_official 30:91c1d09ada54 252 __IO uint32_t PIO1_5; /*!< Offset: 0x0A0 I/O configuration for pin PIO1_5/nRTS/CT32B0_CAP0 (R/W) */
mbed_official 30:91c1d09ada54 253 __IO uint32_t PIO1_6; /*!< Offset: 0x0A4 I/O configuration for pin PIO1_6/RXD/CT32B0_MAT0 (R/W) */
mbed_official 30:91c1d09ada54 254 __IO uint32_t PIO1_7; /*!< Offset: 0x0A8 I/O configuration for pin PIO1_7/TXD/CT32B0_MAT1 (R/W) */
mbed_official 30:91c1d09ada54 255 __IO uint32_t PIO3_3; /*!< Offset: 0x0AC I/O configuration for pin PIO3_3/nRI (R/W) */
mbed_official 30:91c1d09ada54 256 __IO uint32_t SCK_LOC; /*!< Offset: 0x0B0 SCK pin location select Register (R/W) */
mbed_official 30:91c1d09ada54 257 __IO uint32_t DSR_LOC; /*!< Offset: 0x0B4 DSR pin location select Register (R/W) */
mbed_official 30:91c1d09ada54 258 __IO uint32_t DCD_LOC; /*!< Offset: 0x0B8 DCD pin location select Register (R/W) */
mbed_official 30:91c1d09ada54 259 __IO uint32_t RI_LOC; /*!< Offset: 0x0BC RI pin location Register (R/W) */
mbed_official 30:91c1d09ada54 260
mbed_official 30:91c1d09ada54 261 __IO uint32_t CT16B0_CAP0_LOC; /*!< Offset: 0x0C0 IOCON CT16B0_CAP0 location register (IOCON_CT16B0_CAP0_LOC, address 0x4004 40C0) */
mbed_official 30:91c1d09ada54 262 __IO uint32_t SCK1_LOC; /*!< Offset: 0x0C4 IOCON SCK1 location register (IOCON_SCK1_LOC, address 0x4004 40C4) */
mbed_official 30:91c1d09ada54 263 __IO uint32_t MISO1_LOC; /*!< Offset: 0x0C8 IOCON MISO1 location register (IOCON_MISO1_LOC, address 0x4004 40C8) */
mbed_official 30:91c1d09ada54 264 __IO uint32_t MOSI1_LOC; /*!< Offset: 0x0CC IOCON MOSI1 location register (IOCON_MOSI1_LOC, address 0x4004 40CC) */
mbed_official 30:91c1d09ada54 265 __IO uint32_t CT32B0_CAP0_LOC; /*!< Offset: 0x0D0 IOCON CT32B0_CAP0 location register (IOCON_CT32B0_CAP0_LOC, address 0x4004 40D0) */
mbed_official 30:91c1d09ada54 266 __IO uint32_t RXD_LOC; /*!< Offset: 0x0D4 IOCON RXD location register (IOCON_RXD_LOC, address 0x4004 40D4) */
mbed_official 30:91c1d09ada54 267 } LPC_IOCON_TypeDef;
mbed_official 30:91c1d09ada54 268 /*@}*/ /* end of group LPC11xx_IOCON */
mbed_official 30:91c1d09ada54 269
mbed_official 30:91c1d09ada54 270
mbed_official 30:91c1d09ada54 271 /*------------- Power Management Unit (PMU) --------------------------*/
mbed_official 30:91c1d09ada54 272 /** @addtogroup LPC11xx_PMU LPC11xx Power Management Unit
mbed_official 30:91c1d09ada54 273 @{
mbed_official 30:91c1d09ada54 274 */
mbed_official 30:91c1d09ada54 275 typedef struct
mbed_official 30:91c1d09ada54 276 {
mbed_official 30:91c1d09ada54 277 __IO uint32_t PCON; /*!< Offset: 0x000 Power control Register (R/W) */
mbed_official 30:91c1d09ada54 278 __IO uint32_t GPREG0; /*!< Offset: 0x004 General purpose Register 0 (R/W) */
mbed_official 30:91c1d09ada54 279 __IO uint32_t GPREG1; /*!< Offset: 0x008 General purpose Register 1 (R/W) */
mbed_official 30:91c1d09ada54 280 __IO uint32_t GPREG2; /*!< Offset: 0x00C General purpose Register 2 (R/W) */
mbed_official 30:91c1d09ada54 281 __IO uint32_t GPREG3; /*!< Offset: 0x010 General purpose Register 3 (R/W) */
mbed_official 30:91c1d09ada54 282 __IO uint32_t GPREG4; /*!< Offset: 0x014 General purpose Register 4 (R/W) */
mbed_official 30:91c1d09ada54 283 } LPC_PMU_TypeDef;
mbed_official 30:91c1d09ada54 284 /*@}*/ /* end of group LPC11xx_PMU */
mbed_official 30:91c1d09ada54 285
mbed_official 30:91c1d09ada54 286
mbed_official 30:91c1d09ada54 287
mbed_official 30:91c1d09ada54 288 // ------------------------------------------------------------------------------------------------
mbed_official 30:91c1d09ada54 289 // ----- FLASHCTRL -----
mbed_official 30:91c1d09ada54 290 // ------------------------------------------------------------------------------------------------
mbed_official 30:91c1d09ada54 291
mbed_official 30:91c1d09ada54 292 typedef struct { /*!< (@ 0x4003C000) FLASHCTRL Structure */
mbed_official 30:91c1d09ada54 293 __I uint32_t RESERVED0[4];
mbed_official 30:91c1d09ada54 294 __IO uint32_t FLASHCFG; /*!< (@ 0x4003C010) Flash memory access time configuration register */
mbed_official 30:91c1d09ada54 295 __I uint32_t RESERVED1[3];
mbed_official 30:91c1d09ada54 296 __IO uint32_t FMSSTART; /*!< (@ 0x4003C020) Signature start address register */
mbed_official 30:91c1d09ada54 297 __IO uint32_t FMSSTOP; /*!< (@ 0x4003C024) Signature stop-address register */
mbed_official 30:91c1d09ada54 298 __I uint32_t RESERVED2[1];
mbed_official 30:91c1d09ada54 299 __I uint32_t FMSW0; /*!< (@ 0x4003C02C) Word 0 [31:0] */
mbed_official 30:91c1d09ada54 300 __I uint32_t FMSW1; /*!< (@ 0x4003C030) Word 1 [63:32] */
mbed_official 30:91c1d09ada54 301 __I uint32_t FMSW2; /*!< (@ 0x4003C034) Word 2 [95:64] */
mbed_official 30:91c1d09ada54 302 __I uint32_t FMSW3; /*!< (@ 0x4003C038) Word 3 [127:96] */
mbed_official 30:91c1d09ada54 303 __I uint32_t RESERVED3[1001];
mbed_official 30:91c1d09ada54 304 __I uint32_t FMSTAT; /*!< (@ 0x4003CFE0) Signature generation status register */
mbed_official 30:91c1d09ada54 305 __I uint32_t RESERVED4[1];
mbed_official 30:91c1d09ada54 306 __IO uint32_t FMSTATCLR; /*!< (@ 0x4003CFE8) Signature generation status clear register */
mbed_official 30:91c1d09ada54 307 } LPC_FLASHCTRL_Type;
mbed_official 30:91c1d09ada54 308
mbed_official 30:91c1d09ada54 309
mbed_official 30:91c1d09ada54 310 /*------------- General Purpose Input/Output (GPIO) --------------------------*/
mbed_official 30:91c1d09ada54 311 /** @addtogroup LPC11xx_GPIO LPC11xx General Purpose Input/Output
mbed_official 30:91c1d09ada54 312 @{
mbed_official 30:91c1d09ada54 313 */
mbed_official 30:91c1d09ada54 314 typedef struct
mbed_official 30:91c1d09ada54 315 {
mbed_official 30:91c1d09ada54 316 union {
mbed_official 30:91c1d09ada54 317 __IO uint32_t MASKED_ACCESS[4096]; /*!< Offset: 0x0000 to 0x3FFC Port data Register for pins PIOn_0 to PIOn_11 (R/W) */
mbed_official 30:91c1d09ada54 318 struct {
mbed_official 30:91c1d09ada54 319 uint32_t RESERVED0[4095];
mbed_official 30:91c1d09ada54 320 __IO uint32_t DATA; /*!< Offset: 0x3FFC Port data Register (R/W) */
mbed_official 30:91c1d09ada54 321 };
mbed_official 30:91c1d09ada54 322 };
mbed_official 30:91c1d09ada54 323 uint32_t RESERVED1[4096];
mbed_official 30:91c1d09ada54 324 __IO uint32_t DIR; /*!< Offset: 0x8000 Data direction Register (R/W) */
mbed_official 30:91c1d09ada54 325 __IO uint32_t IS; /*!< Offset: 0x8004 Interrupt sense Register (R/W) */
mbed_official 30:91c1d09ada54 326 __IO uint32_t IBE; /*!< Offset: 0x8008 Interrupt both edges Register (R/W) */
mbed_official 30:91c1d09ada54 327 __IO uint32_t IEV; /*!< Offset: 0x800C Interrupt event Register (R/W) */
mbed_official 30:91c1d09ada54 328 __IO uint32_t IE; /*!< Offset: 0x8010 Interrupt mask Register (R/W) */
mbed_official 30:91c1d09ada54 329 __I uint32_t RIS; /*!< Offset: 0x8014 Raw interrupt status Register (R/ ) */
mbed_official 30:91c1d09ada54 330 __I uint32_t MIS; /*!< Offset: 0x8018 Masked interrupt status Register (R/ ) */
mbed_official 30:91c1d09ada54 331 __O uint32_t IC; /*!< Offset: 0x801C Interrupt clear Register (/W) */
mbed_official 30:91c1d09ada54 332 } LPC_GPIO_TypeDef;
mbed_official 30:91c1d09ada54 333 /*@}*/ /* end of group LPC11xx_GPIO */
mbed_official 30:91c1d09ada54 334
mbed_official 30:91c1d09ada54 335 /*------------- Timer (TMR) --------------------------------------------------*/
mbed_official 30:91c1d09ada54 336 /** @addtogroup LPC11xx_TMR LPC11xx 16/32-bit Counter/Timer
mbed_official 30:91c1d09ada54 337 @{
mbed_official 30:91c1d09ada54 338 */
mbed_official 30:91c1d09ada54 339 typedef struct
mbed_official 30:91c1d09ada54 340 {
mbed_official 30:91c1d09ada54 341 __IO uint32_t IR; /*!< Offset: 0x000 Interrupt Register (R/W) */
mbed_official 30:91c1d09ada54 342 __IO uint32_t TCR; /*!< Offset: 0x004 Timer Control Register (R/W) */
mbed_official 30:91c1d09ada54 343 __IO uint32_t TC; /*!< Offset: 0x008 Timer Counter Register (R/W) */
mbed_official 30:91c1d09ada54 344 __IO uint32_t PR; /*!< Offset: 0x00C Prescale Register (R/W) */
mbed_official 30:91c1d09ada54 345 __IO uint32_t PC; /*!< Offset: 0x010 Prescale Counter Register (R/W) */
mbed_official 30:91c1d09ada54 346 __IO uint32_t MCR; /*!< Offset: 0x014 Match Control Register (R/W) */
mbed_official 30:91c1d09ada54 347 union {
mbed_official 30:91c1d09ada54 348 __IO uint32_t MR[4]; /*!< Offset: Match Register base */
mbed_official 30:91c1d09ada54 349 struct{
mbed_official 30:91c1d09ada54 350 __IO uint32_t MR0; /*!< Offset: 0x018 Match Register 0 (R/W) */
mbed_official 30:91c1d09ada54 351 __IO uint32_t MR1; /*!< Offset: 0x01C Match Register 1 (R/W) */
mbed_official 30:91c1d09ada54 352 __IO uint32_t MR2; /*!< Offset: 0x020 Match Register 2 (R/W) */
mbed_official 30:91c1d09ada54 353 __IO uint32_t MR3; /*!< Offset: 0x024 Match Register 3 (R/W) */
mbed_official 30:91c1d09ada54 354 };
mbed_official 30:91c1d09ada54 355 };
mbed_official 30:91c1d09ada54 356 __IO uint32_t CCR; /*!< Offset: 0x028 Capture Control Register (R/W) */
mbed_official 30:91c1d09ada54 357 __I uint32_t CR0; /*!< Offset: 0x02C Capture Register 0 (R/ ) */
mbed_official 30:91c1d09ada54 358 __I uint32_t CR1; /*!< Offset: 0x030 Capture Register 1 (R/ ) */
mbed_official 30:91c1d09ada54 359 uint32_t RESERVED1[2];
mbed_official 30:91c1d09ada54 360 __IO uint32_t EMR; /*!< Offset: 0x03C External Match Register (R/W) */
mbed_official 30:91c1d09ada54 361 uint32_t RESERVED2[12];
mbed_official 30:91c1d09ada54 362 __IO uint32_t CTCR; /*!< Offset: 0x070 Count Control Register (R/W) */
mbed_official 30:91c1d09ada54 363 __IO uint32_t PWMC; /*!< Offset: 0x074 PWM Control Register (R/W) */
mbed_official 30:91c1d09ada54 364 } LPC_TMR_TypeDef;
mbed_official 30:91c1d09ada54 365 /*@}*/ /* end of group LPC11xx_TMR */
mbed_official 30:91c1d09ada54 366
mbed_official 30:91c1d09ada54 367
mbed_official 30:91c1d09ada54 368 /*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
mbed_official 30:91c1d09ada54 369 /** @addtogroup LPC11xx_UART LPC11xx Universal Asynchronous Receiver/Transmitter
mbed_official 30:91c1d09ada54 370 @{
mbed_official 30:91c1d09ada54 371 */
mbed_official 30:91c1d09ada54 372 typedef struct
mbed_official 30:91c1d09ada54 373 {
mbed_official 30:91c1d09ada54 374 union {
mbed_official 30:91c1d09ada54 375 __I uint32_t RBR; /*!< Offset: 0x000 Receiver Buffer Register (R/ ) */
mbed_official 30:91c1d09ada54 376 __O uint32_t THR; /*!< Offset: 0x000 Transmit Holding Register ( /W) */
mbed_official 30:91c1d09ada54 377 __IO uint32_t DLL; /*!< Offset: 0x000 Divisor Latch LSB (R/W) */
mbed_official 30:91c1d09ada54 378 };
mbed_official 30:91c1d09ada54 379 union {
mbed_official 30:91c1d09ada54 380 __IO uint32_t DLM; /*!< Offset: 0x004 Divisor Latch MSB (R/W) */
mbed_official 30:91c1d09ada54 381 __IO uint32_t IER; /*!< Offset: 0x000 Interrupt Enable Register (R/W) */
mbed_official 30:91c1d09ada54 382 };
mbed_official 30:91c1d09ada54 383 union {
mbed_official 30:91c1d09ada54 384 __I uint32_t IIR; /*!< Offset: 0x008 Interrupt ID Register (R/ ) */
mbed_official 30:91c1d09ada54 385 __O uint32_t FCR; /*!< Offset: 0x008 FIFO Control Register ( /W) */
mbed_official 30:91c1d09ada54 386 };
mbed_official 30:91c1d09ada54 387 __IO uint32_t LCR; /*!< Offset: 0x00C Line Control Register (R/W) */
mbed_official 30:91c1d09ada54 388 __IO uint32_t MCR; /*!< Offset: 0x010 Modem control Register (R/W) */
mbed_official 30:91c1d09ada54 389 __I uint32_t LSR; /*!< Offset: 0x014 Line Status Register (R/ ) */
mbed_official 30:91c1d09ada54 390 __I uint32_t MSR; /*!< Offset: 0x018 Modem status Register (R/ ) */
mbed_official 30:91c1d09ada54 391 __IO uint32_t SCR; /*!< Offset: 0x01C Scratch Pad Register (R/W) */
mbed_official 30:91c1d09ada54 392 __IO uint32_t ACR; /*!< Offset: 0x020 Auto-baud Control Register (R/W) */
mbed_official 30:91c1d09ada54 393 uint32_t RESERVED0;
mbed_official 30:91c1d09ada54 394 __IO uint32_t FDR; /*!< Offset: 0x028 Fractional Divider Register (R/W) */
mbed_official 30:91c1d09ada54 395 uint32_t RESERVED1;
mbed_official 30:91c1d09ada54 396 __IO uint32_t TER; /*!< Offset: 0x030 Transmit Enable Register (R/W) */
mbed_official 30:91c1d09ada54 397 uint32_t RESERVED2[6];
mbed_official 30:91c1d09ada54 398 __IO uint32_t RS485CTRL; /*!< Offset: 0x04C RS-485/EIA-485 Control Register (R/W) */
mbed_official 30:91c1d09ada54 399 __IO uint32_t ADRMATCH; /*!< Offset: 0x050 RS-485/EIA-485 address match Register (R/W) */
mbed_official 30:91c1d09ada54 400 __IO uint32_t RS485DLY; /*!< Offset: 0x054 RS-485/EIA-485 direction control delay Register (R/W) */
mbed_official 30:91c1d09ada54 401 __I uint32_t FIFOLVL; /*!< Offset: 0x058 FIFO Level Register (R) */
mbed_official 30:91c1d09ada54 402 } LPC_UART_TypeDef;
mbed_official 30:91c1d09ada54 403 /*@}*/ /* end of group LPC11xx_UART */
mbed_official 30:91c1d09ada54 404
mbed_official 30:91c1d09ada54 405
mbed_official 30:91c1d09ada54 406 /*------------- Synchronous Serial Communication (SSP) -----------------------*/
mbed_official 30:91c1d09ada54 407 /** @addtogroup LPC11xx_SSP LPC11xx Synchronous Serial Port
mbed_official 30:91c1d09ada54 408 @{
mbed_official 30:91c1d09ada54 409 */
mbed_official 30:91c1d09ada54 410 typedef struct
mbed_official 30:91c1d09ada54 411 {
mbed_official 30:91c1d09ada54 412 __IO uint32_t CR0; /*!< Offset: 0x000 Control Register 0 (R/W) */
mbed_official 30:91c1d09ada54 413 __IO uint32_t CR1; /*!< Offset: 0x004 Control Register 1 (R/W) */
mbed_official 30:91c1d09ada54 414 __IO uint32_t DR; /*!< Offset: 0x008 Data Register (R/W) */
mbed_official 30:91c1d09ada54 415 __I uint32_t SR; /*!< Offset: 0x00C Status Registe (R/ ) */
mbed_official 30:91c1d09ada54 416 __IO uint32_t CPSR; /*!< Offset: 0x010 Clock Prescale Register (R/W) */
mbed_official 30:91c1d09ada54 417 __IO uint32_t IMSC; /*!< Offset: 0x014 Interrupt Mask Set and Clear Register (R/W) */
mbed_official 30:91c1d09ada54 418 __I uint32_t RIS; /*!< Offset: 0x018 Raw Interrupt Status Register (R/) */
mbed_official 30:91c1d09ada54 419 __I uint32_t MIS; /*!< Offset: 0x01C Masked Interrupt Status Register (R/) */
mbed_official 30:91c1d09ada54 420 __O uint32_t ICR; /*!< Offset: 0x020 SSPICR Interrupt Clear Register (/W) */
mbed_official 30:91c1d09ada54 421 } LPC_SSP_TypeDef;
mbed_official 30:91c1d09ada54 422 /*@}*/ /* end of group LPC11xx_SSP */
mbed_official 30:91c1d09ada54 423
mbed_official 30:91c1d09ada54 424
mbed_official 30:91c1d09ada54 425 /*------------- Inter-Integrated Circuit (I2C) -------------------------------*/
mbed_official 30:91c1d09ada54 426 /** @addtogroup LPC11xx_I2C LPC11xx I2C-Bus Interface
mbed_official 30:91c1d09ada54 427 @{
mbed_official 30:91c1d09ada54 428 */
mbed_official 30:91c1d09ada54 429 typedef struct
mbed_official 30:91c1d09ada54 430 {
mbed_official 30:91c1d09ada54 431 __IO uint32_t CONSET; /*!< Offset: 0x000 I2C Control Set Register (R/W) */
mbed_official 30:91c1d09ada54 432 __I uint32_t STAT; /*!< Offset: 0x004 I2C Status Register (R/ ) */
mbed_official 30:91c1d09ada54 433 __IO uint32_t DAT; /*!< Offset: 0x008 I2C Data Register (R/W) */
mbed_official 30:91c1d09ada54 434 __IO uint32_t ADR0; /*!< Offset: 0x00C I2C Slave Address Register 0 (R/W) */
mbed_official 30:91c1d09ada54 435 __IO uint32_t SCLH; /*!< Offset: 0x010 SCH Duty Cycle Register High Half Word (R/W) */
mbed_official 30:91c1d09ada54 436 __IO uint32_t SCLL; /*!< Offset: 0x014 SCL Duty Cycle Register Low Half Word (R/W) */
mbed_official 30:91c1d09ada54 437 __O uint32_t CONCLR; /*!< Offset: 0x018 I2C Control Clear Register ( /W) */
mbed_official 30:91c1d09ada54 438 __IO uint32_t MMCTRL; /*!< Offset: 0x01C Monitor mode control register (R/W) */
mbed_official 30:91c1d09ada54 439 __IO uint32_t ADR1; /*!< Offset: 0x020 I2C Slave Address Register 1 (R/W) */
mbed_official 30:91c1d09ada54 440 __IO uint32_t ADR2; /*!< Offset: 0x024 I2C Slave Address Register 2 (R/W) */
mbed_official 30:91c1d09ada54 441 __IO uint32_t ADR3; /*!< Offset: 0x028 I2C Slave Address Register 3 (R/W) */
mbed_official 30:91c1d09ada54 442 __I uint32_t DATA_BUFFER; /*!< Offset: 0x02C Data buffer register ( /W) */
mbed_official 30:91c1d09ada54 443 __IO uint32_t MASK0; /*!< Offset: 0x030 I2C Slave address mask register 0 (R/W) */
mbed_official 30:91c1d09ada54 444 __IO uint32_t MASK1; /*!< Offset: 0x034 I2C Slave address mask register 1 (R/W) */
mbed_official 30:91c1d09ada54 445 __IO uint32_t MASK2; /*!< Offset: 0x038 I2C Slave address mask register 2 (R/W) */
mbed_official 30:91c1d09ada54 446 __IO uint32_t MASK3; /*!< Offset: 0x03C I2C Slave address mask register 3 (R/W) */
mbed_official 30:91c1d09ada54 447 } LPC_I2C_TypeDef;
mbed_official 30:91c1d09ada54 448 /*@}*/ /* end of group LPC11xx_I2C */
mbed_official 30:91c1d09ada54 449
mbed_official 30:91c1d09ada54 450
mbed_official 30:91c1d09ada54 451 /*------------- Watchdog Timer (WDT) -----------------------------------------*/
mbed_official 30:91c1d09ada54 452 /** @addtogroup LPC11xx_WDT LPC11xx WatchDog Timer
mbed_official 30:91c1d09ada54 453 @{
mbed_official 30:91c1d09ada54 454 */
mbed_official 30:91c1d09ada54 455 typedef struct
mbed_official 30:91c1d09ada54 456 {
mbed_official 30:91c1d09ada54 457 __IO uint32_t MOD; /*!< Offset: 0x000 Watchdog mode register (R/W) */
mbed_official 30:91c1d09ada54 458 __IO uint32_t TC; /*!< Offset: 0x004 Watchdog timer constant register (R/W) */
mbed_official 30:91c1d09ada54 459 __O uint32_t FEED; /*!< Offset: 0x008 Watchdog feed sequence register (W) */
mbed_official 30:91c1d09ada54 460 __I uint32_t TV; /*!< Offset: 0x00C Watchdog timer value register (R) */
mbed_official 30:91c1d09ada54 461 uint32_t RESERVED0;
mbed_official 30:91c1d09ada54 462 __IO uint32_t WARNINT; /*!< Offset: 0x014 Watchdog timer warning int. register (R/W) */
mbed_official 30:91c1d09ada54 463 __IO uint32_t WINDOW; /*!< Offset: 0x018 Watchdog timer window value register (R/W) */
mbed_official 30:91c1d09ada54 464 } LPC_WDT_TypeDef;
mbed_official 30:91c1d09ada54 465 /*@}*/ /* end of group LPC11xx_WDT */
mbed_official 30:91c1d09ada54 466
mbed_official 30:91c1d09ada54 467
mbed_official 30:91c1d09ada54 468 /*------------- Analog-to-Digital Converter (ADC) ----------------------------*/
mbed_official 30:91c1d09ada54 469 /** @addtogroup LPC11xx_ADC LPC11xx Analog-to-Digital Converter
mbed_official 30:91c1d09ada54 470 @{
mbed_official 30:91c1d09ada54 471 */
mbed_official 30:91c1d09ada54 472 typedef struct
mbed_official 30:91c1d09ada54 473 {
mbed_official 30:91c1d09ada54 474 __IO uint32_t CR; /*!< Offset: 0x000 A/D Control Register (R/W) */
mbed_official 30:91c1d09ada54 475 __IO uint32_t GDR; /*!< Offset: 0x004 A/D Global Data Register (R/W) */
mbed_official 30:91c1d09ada54 476 uint32_t RESERVED0;
mbed_official 30:91c1d09ada54 477 __IO uint32_t INTEN; /*!< Offset: 0x00C A/D Interrupt Enable Register (R/W) */
mbed_official 30:91c1d09ada54 478 __IO uint32_t DR[8]; /*!< Offset: 0x010-0x02C A/D Channel 0..7 Data Register (R/W) */
mbed_official 30:91c1d09ada54 479 __I uint32_t STAT; /*!< Offset: 0x030 A/D Status Register (R/ ) */
mbed_official 30:91c1d09ada54 480 } LPC_ADC_TypeDef;
mbed_official 30:91c1d09ada54 481 /*@}*/ /* end of group LPC11xx_ADC */
mbed_official 30:91c1d09ada54 482
mbed_official 30:91c1d09ada54 483
mbed_official 30:91c1d09ada54 484 /*------------- CAN Controller (CAN) ----------------------------*/
mbed_official 30:91c1d09ada54 485 /** @addtogroup LPC11xx_CAN LPC11xx Controller Area Network(CAN)
mbed_official 30:91c1d09ada54 486 @{
mbed_official 30:91c1d09ada54 487 */
mbed_official 30:91c1d09ada54 488 typedef struct
mbed_official 30:91c1d09ada54 489 {
mbed_official 30:91c1d09ada54 490 __IO uint32_t CNTL; /* 0x000 */
mbed_official 30:91c1d09ada54 491 __IO uint32_t STAT;
mbed_official 30:91c1d09ada54 492 __IO uint32_t EC;
mbed_official 30:91c1d09ada54 493 __IO uint32_t BT;
mbed_official 30:91c1d09ada54 494 __IO uint32_t INT;
mbed_official 30:91c1d09ada54 495 __IO uint32_t TEST;
mbed_official 30:91c1d09ada54 496 __IO uint32_t BRPE;
mbed_official 30:91c1d09ada54 497 uint32_t RESERVED0;
mbed_official 30:91c1d09ada54 498 __IO uint32_t IF1_CMDREQ; /* 0x020 */
mbed_official 30:91c1d09ada54 499 __IO uint32_t IF1_CMDMSK;
mbed_official 30:91c1d09ada54 500 __IO uint32_t IF1_MSK1;
mbed_official 30:91c1d09ada54 501 __IO uint32_t IF1_MSK2;
mbed_official 30:91c1d09ada54 502 __IO uint32_t IF1_ARB1;
mbed_official 30:91c1d09ada54 503 __IO uint32_t IF1_ARB2;
mbed_official 30:91c1d09ada54 504 __IO uint32_t IF1_MCTRL;
mbed_official 30:91c1d09ada54 505 __IO uint32_t IF1_DA1;
mbed_official 30:91c1d09ada54 506 __IO uint32_t IF1_DA2;
mbed_official 30:91c1d09ada54 507 __IO uint32_t IF1_DB1;
mbed_official 30:91c1d09ada54 508 __IO uint32_t IF1_DB2;
mbed_official 30:91c1d09ada54 509 uint32_t RESERVED1[13];
mbed_official 30:91c1d09ada54 510 __IO uint32_t IF2_CMDREQ; /* 0x080 */
mbed_official 30:91c1d09ada54 511 __IO uint32_t IF2_CMDMSK;
mbed_official 30:91c1d09ada54 512 __IO uint32_t IF2_MSK1;
mbed_official 30:91c1d09ada54 513 __IO uint32_t IF2_MSK2;
mbed_official 30:91c1d09ada54 514 __IO uint32_t IF2_ARB1;
mbed_official 30:91c1d09ada54 515 __IO uint32_t IF2_ARB2;
mbed_official 30:91c1d09ada54 516 __IO uint32_t IF2_MCTRL;
mbed_official 30:91c1d09ada54 517 __IO uint32_t IF2_DA1;
mbed_official 30:91c1d09ada54 518 __IO uint32_t IF2_DA2;
mbed_official 30:91c1d09ada54 519 __IO uint32_t IF2_DB1;
mbed_official 30:91c1d09ada54 520 __IO uint32_t IF2_DB2;
mbed_official 30:91c1d09ada54 521 uint32_t RESERVED2[21];
mbed_official 30:91c1d09ada54 522 __I uint32_t TXREQ1; /* 0x100 */
mbed_official 30:91c1d09ada54 523 __I uint32_t TXREQ2;
mbed_official 30:91c1d09ada54 524 uint32_t RESERVED3[6];
mbed_official 30:91c1d09ada54 525 __I uint32_t ND1; /* 0x120 */
mbed_official 30:91c1d09ada54 526 __I uint32_t ND2;
mbed_official 30:91c1d09ada54 527 uint32_t RESERVED4[6];
mbed_official 30:91c1d09ada54 528 __I uint32_t IR1; /* 0x140 */
mbed_official 30:91c1d09ada54 529 __I uint32_t IR2;
mbed_official 30:91c1d09ada54 530 uint32_t RESERVED5[6];
mbed_official 30:91c1d09ada54 531 __I uint32_t MSGV1; /* 0x160 */
mbed_official 30:91c1d09ada54 532 __I uint32_t MSGV2;
mbed_official 30:91c1d09ada54 533 uint32_t RESERVED6[6];
mbed_official 30:91c1d09ada54 534 __IO uint32_t CLKDIV; /* 0x180 */
mbed_official 30:91c1d09ada54 535 } LPC_CAN_TypeDef;
mbed_official 30:91c1d09ada54 536 /*@}*/ /* end of group LPC11xx_CAN */
mbed_official 30:91c1d09ada54 537
mbed_official 30:91c1d09ada54 538 #if defined ( __CC_ARM )
mbed_official 30:91c1d09ada54 539 #pragma no_anon_unions
mbed_official 30:91c1d09ada54 540 #endif
mbed_official 30:91c1d09ada54 541
mbed_official 30:91c1d09ada54 542 /******************************************************************************/
mbed_official 30:91c1d09ada54 543 /* Peripheral memory map */
mbed_official 30:91c1d09ada54 544 /******************************************************************************/
mbed_official 30:91c1d09ada54 545 /* Base addresses */
mbed_official 30:91c1d09ada54 546 #define LPC_FLASH_BASE (0x00000000UL)
mbed_official 30:91c1d09ada54 547 #define LPC_RAM_BASE (0x10000000UL)
mbed_official 30:91c1d09ada54 548 #define LPC_APB0_BASE (0x40000000UL)
mbed_official 30:91c1d09ada54 549 #define LPC_AHB_BASE (0x50000000UL)
mbed_official 30:91c1d09ada54 550
mbed_official 30:91c1d09ada54 551 /* APB0 peripherals */
mbed_official 30:91c1d09ada54 552 #define LPC_I2C_BASE (LPC_APB0_BASE + 0x00000)
mbed_official 30:91c1d09ada54 553 #define LPC_WDT_BASE (LPC_APB0_BASE + 0x04000)
mbed_official 30:91c1d09ada54 554 #define LPC_UART_BASE (LPC_APB0_BASE + 0x08000)
mbed_official 30:91c1d09ada54 555 #define LPC_CT16B0_BASE (LPC_APB0_BASE + 0x0C000)
mbed_official 30:91c1d09ada54 556 #define LPC_CT16B1_BASE (LPC_APB0_BASE + 0x10000)
mbed_official 30:91c1d09ada54 557 #define LPC_CT32B0_BASE (LPC_APB0_BASE + 0x14000)
mbed_official 30:91c1d09ada54 558 #define LPC_CT32B1_BASE (LPC_APB0_BASE + 0x18000)
mbed_official 30:91c1d09ada54 559 #define LPC_ADC_BASE (LPC_APB0_BASE + 0x1C000)
mbed_official 30:91c1d09ada54 560 #define LPC_PMU_BASE (LPC_APB0_BASE + 0x38000)
mbed_official 30:91c1d09ada54 561 #define LPC_FLASHCTRL_BASE (LPC_APB0_BASE + 0x3C000)
mbed_official 30:91c1d09ada54 562 #define LPC_SSP0_BASE (LPC_APB0_BASE + 0x40000)
mbed_official 30:91c1d09ada54 563 #define LPC_IOCON_BASE (LPC_APB0_BASE + 0x44000)
mbed_official 30:91c1d09ada54 564 #define LPC_SYSCON_BASE (LPC_APB0_BASE + 0x48000)
mbed_official 30:91c1d09ada54 565 #define LPC_CAN_BASE (LPC_APB0_BASE + 0x50000)
mbed_official 30:91c1d09ada54 566 #define LPC_SSP1_BASE (LPC_APB0_BASE + 0x58000)
mbed_official 30:91c1d09ada54 567
mbed_official 30:91c1d09ada54 568 /* AHB peripherals */
mbed_official 30:91c1d09ada54 569 #define LPC_GPIO_BASE (LPC_AHB_BASE + 0x00000)
mbed_official 30:91c1d09ada54 570 #define LPC_GPIO0_BASE (LPC_AHB_BASE + 0x00000)
mbed_official 30:91c1d09ada54 571 #define LPC_GPIO1_BASE (LPC_AHB_BASE + 0x10000)
mbed_official 30:91c1d09ada54 572 #define LPC_GPIO2_BASE (LPC_AHB_BASE + 0x20000)
mbed_official 30:91c1d09ada54 573 #define LPC_GPIO3_BASE (LPC_AHB_BASE + 0x30000)
mbed_official 30:91c1d09ada54 574
mbed_official 30:91c1d09ada54 575 /******************************************************************************/
mbed_official 30:91c1d09ada54 576 /* Peripheral declaration */
mbed_official 30:91c1d09ada54 577 /******************************************************************************/
mbed_official 30:91c1d09ada54 578 #define LPC_I2C ((LPC_I2C_TypeDef *) LPC_I2C_BASE )
mbed_official 30:91c1d09ada54 579 #define LPC_WDT ((LPC_WDT_TypeDef *) LPC_WDT_BASE )
mbed_official 30:91c1d09ada54 580 #define LPC_UART ((LPC_UART_TypeDef *) LPC_UART_BASE )
mbed_official 30:91c1d09ada54 581 #define LPC_TMR16B0 ((LPC_TMR_TypeDef *) LPC_CT16B0_BASE)
mbed_official 30:91c1d09ada54 582 #define LPC_TMR16B1 ((LPC_TMR_TypeDef *) LPC_CT16B1_BASE)
mbed_official 30:91c1d09ada54 583 #define LPC_TMR32B0 ((LPC_TMR_TypeDef *) LPC_CT32B0_BASE)
mbed_official 30:91c1d09ada54 584 #define LPC_TMR32B1 ((LPC_TMR_TypeDef *) LPC_CT32B1_BASE)
mbed_official 30:91c1d09ada54 585 #define LPC_ADC ((LPC_ADC_TypeDef *) LPC_ADC_BASE )
mbed_official 30:91c1d09ada54 586 #define LPC_PMU ((LPC_PMU_TypeDef *) LPC_PMU_BASE )
mbed_official 30:91c1d09ada54 587 #define LPC_FLASHCTRL ((LPC_FLASHCTRL_Type *) LPC_FLASHCTRL_BASE)
mbed_official 30:91c1d09ada54 588 #define LPC_SSP0 ((LPC_SSP_TypeDef *) LPC_SSP0_BASE )
mbed_official 30:91c1d09ada54 589 #define LPC_SSP1 ((LPC_SSP_TypeDef *) LPC_SSP1_BASE )
mbed_official 30:91c1d09ada54 590 #define LPC_CAN ((LPC_CAN_TypeDef *) LPC_CAN_BASE )
mbed_official 30:91c1d09ada54 591 #define LPC_IOCON ((LPC_IOCON_TypeDef *) LPC_IOCON_BASE )
mbed_official 30:91c1d09ada54 592 #define LPC_SYSCON ((LPC_SYSCON_TypeDef *) LPC_SYSCON_BASE)
mbed_official 30:91c1d09ada54 593 #define LPC_GPIO0 ((LPC_GPIO_TypeDef *) LPC_GPIO0_BASE )
mbed_official 30:91c1d09ada54 594 #define LPC_GPIO1 ((LPC_GPIO_TypeDef *) LPC_GPIO1_BASE )
mbed_official 30:91c1d09ada54 595 #define LPC_GPIO2 ((LPC_GPIO_TypeDef *) LPC_GPIO2_BASE )
mbed_official 30:91c1d09ada54 596 #define LPC_GPIO3 ((LPC_GPIO_TypeDef *) LPC_GPIO3_BASE )
mbed_official 30:91c1d09ada54 597
mbed_official 30:91c1d09ada54 598 #ifdef __cplusplus
mbed_official 30:91c1d09ada54 599 }
mbed_official 30:91c1d09ada54 600 #endif
mbed_official 30:91c1d09ada54 601
mbed_official 30:91c1d09ada54 602 #endif /* __LPC11xx_H__ */