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:
bogdanm
Date:
Mon Aug 19 18:17:02 2013 +0300
Revision:
19:398f4c622e1b
Sync with official mbed library release 66

Who changed what in which revision?

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