added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
JojoS
Date:
Sat Sep 10 15:32:04 2016 +0000
Revision:
147:ba84b7dc41a7
Parent:
144:ef7eb2e8f9f7
added prescaler for 16 bit timers (solution as in LPC11xx), default prescaler 31 for max 28 ms period time

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 /**************************************************************************//**
<> 144:ef7eb2e8f9f7 2 * @file LPC17xx.h
<> 144:ef7eb2e8f9f7 3 * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File for
<> 144:ef7eb2e8f9f7 4 * NXP LPC17xx Device Series
<> 144:ef7eb2e8f9f7 5 * @version: V1.09
<> 144:ef7eb2e8f9f7 6 * @date: 17. March 2010
<> 144:ef7eb2e8f9f7 7
<> 144:ef7eb2e8f9f7 8 *
<> 144:ef7eb2e8f9f7 9 * @note
<> 144:ef7eb2e8f9f7 10 * Copyright (C) 2009 ARM Limited. All rights reserved.
<> 144:ef7eb2e8f9f7 11 *
<> 144:ef7eb2e8f9f7 12 * @par
<> 144:ef7eb2e8f9f7 13 * ARM Limited (ARM) is supplying this software for use with Cortex-M
<> 144:ef7eb2e8f9f7 14 * processor based microcontrollers. This file can be freely distributed
<> 144:ef7eb2e8f9f7 15 * within development tools that are supporting such ARM based processors.
<> 144:ef7eb2e8f9f7 16 *
<> 144:ef7eb2e8f9f7 17 * @par
<> 144:ef7eb2e8f9f7 18 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
<> 144:ef7eb2e8f9f7 19 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
<> 144:ef7eb2e8f9f7 20 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
<> 144:ef7eb2e8f9f7 21 * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
<> 144:ef7eb2e8f9f7 22 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
<> 144:ef7eb2e8f9f7 23 *
<> 144:ef7eb2e8f9f7 24 ******************************************************************************/
<> 144:ef7eb2e8f9f7 25
<> 144:ef7eb2e8f9f7 26
<> 144:ef7eb2e8f9f7 27 #ifndef __LPC17xx_H__
<> 144:ef7eb2e8f9f7 28 #define __LPC17xx_H__
<> 144:ef7eb2e8f9f7 29
<> 144:ef7eb2e8f9f7 30 /*
<> 144:ef7eb2e8f9f7 31 * ==========================================================================
<> 144:ef7eb2e8f9f7 32 * ---------- Interrupt Number Definition -----------------------------------
<> 144:ef7eb2e8f9f7 33 * ==========================================================================
<> 144:ef7eb2e8f9f7 34 */
<> 144:ef7eb2e8f9f7 35
<> 144:ef7eb2e8f9f7 36 typedef enum IRQn
<> 144:ef7eb2e8f9f7 37 {
<> 144:ef7eb2e8f9f7 38 /****** Cortex-M3 Processor Exceptions Numbers ***************************************************/
<> 144:ef7eb2e8f9f7 39 NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
<> 144:ef7eb2e8f9f7 40 MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */
<> 144:ef7eb2e8f9f7 41 BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */
<> 144:ef7eb2e8f9f7 42 UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */
<> 144:ef7eb2e8f9f7 43 SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */
<> 144:ef7eb2e8f9f7 44 DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */
<> 144:ef7eb2e8f9f7 45 PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */
<> 144:ef7eb2e8f9f7 46 SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */
<> 144:ef7eb2e8f9f7 47
<> 144:ef7eb2e8f9f7 48 /****** LPC17xx Specific Interrupt Numbers *******************************************************/
<> 144:ef7eb2e8f9f7 49 WDT_IRQn = 0, /*!< Watchdog Timer Interrupt */
<> 144:ef7eb2e8f9f7 50 TIMER0_IRQn = 1, /*!< Timer0 Interrupt */
<> 144:ef7eb2e8f9f7 51 TIMER1_IRQn = 2, /*!< Timer1 Interrupt */
<> 144:ef7eb2e8f9f7 52 TIMER2_IRQn = 3, /*!< Timer2 Interrupt */
<> 144:ef7eb2e8f9f7 53 TIMER3_IRQn = 4, /*!< Timer3 Interrupt */
<> 144:ef7eb2e8f9f7 54 UART0_IRQn = 5, /*!< UART0 Interrupt */
<> 144:ef7eb2e8f9f7 55 UART1_IRQn = 6, /*!< UART1 Interrupt */
<> 144:ef7eb2e8f9f7 56 UART2_IRQn = 7, /*!< UART2 Interrupt */
<> 144:ef7eb2e8f9f7 57 UART3_IRQn = 8, /*!< UART3 Interrupt */
<> 144:ef7eb2e8f9f7 58 PWM1_IRQn = 9, /*!< PWM1 Interrupt */
<> 144:ef7eb2e8f9f7 59 I2C0_IRQn = 10, /*!< I2C0 Interrupt */
<> 144:ef7eb2e8f9f7 60 I2C1_IRQn = 11, /*!< I2C1 Interrupt */
<> 144:ef7eb2e8f9f7 61 I2C2_IRQn = 12, /*!< I2C2 Interrupt */
<> 144:ef7eb2e8f9f7 62 SPI_IRQn = 13, /*!< SPI Interrupt */
<> 144:ef7eb2e8f9f7 63 SSP0_IRQn = 14, /*!< SSP0 Interrupt */
<> 144:ef7eb2e8f9f7 64 SSP1_IRQn = 15, /*!< SSP1 Interrupt */
<> 144:ef7eb2e8f9f7 65 PLL0_IRQn = 16, /*!< PLL0 Lock (Main PLL) Interrupt */
<> 144:ef7eb2e8f9f7 66 RTC_IRQn = 17, /*!< Real Time Clock Interrupt */
<> 144:ef7eb2e8f9f7 67 EINT0_IRQn = 18, /*!< External Interrupt 0 Interrupt */
<> 144:ef7eb2e8f9f7 68 EINT1_IRQn = 19, /*!< External Interrupt 1 Interrupt */
<> 144:ef7eb2e8f9f7 69 EINT2_IRQn = 20, /*!< External Interrupt 2 Interrupt */
<> 144:ef7eb2e8f9f7 70 EINT3_IRQn = 21, /*!< External Interrupt 3 Interrupt */
<> 144:ef7eb2e8f9f7 71 ADC_IRQn = 22, /*!< A/D Converter Interrupt */
<> 144:ef7eb2e8f9f7 72 BOD_IRQn = 23, /*!< Brown-Out Detect Interrupt */
<> 144:ef7eb2e8f9f7 73 USB_IRQn = 24, /*!< USB Interrupt */
<> 144:ef7eb2e8f9f7 74 CAN_IRQn = 25, /*!< CAN Interrupt */
<> 144:ef7eb2e8f9f7 75 DMA_IRQn = 26, /*!< General Purpose DMA Interrupt */
<> 144:ef7eb2e8f9f7 76 I2S_IRQn = 27, /*!< I2S Interrupt */
<> 144:ef7eb2e8f9f7 77 ENET_IRQn = 28, /*!< Ethernet Interrupt */
<> 144:ef7eb2e8f9f7 78 RIT_IRQn = 29, /*!< Repetitive Interrupt Timer Interrupt */
<> 144:ef7eb2e8f9f7 79 MCPWM_IRQn = 30, /*!< Motor Control PWM Interrupt */
<> 144:ef7eb2e8f9f7 80 QEI_IRQn = 31, /*!< Quadrature Encoder Interface Interrupt */
<> 144:ef7eb2e8f9f7 81 PLL1_IRQn = 32, /*!< PLL1 Lock (USB PLL) Interrupt */
<> 144:ef7eb2e8f9f7 82 USBActivity_IRQn = 33, /* USB Activity interrupt */
<> 144:ef7eb2e8f9f7 83 CANActivity_IRQn = 34, /* CAN Activity interrupt */
<> 144:ef7eb2e8f9f7 84 } IRQn_Type;
<> 144:ef7eb2e8f9f7 85
<> 144:ef7eb2e8f9f7 86
<> 144:ef7eb2e8f9f7 87 /*
<> 144:ef7eb2e8f9f7 88 * ==========================================================================
<> 144:ef7eb2e8f9f7 89 * ----------- Processor and Core Peripheral Section ------------------------
<> 144:ef7eb2e8f9f7 90 * ==========================================================================
<> 144:ef7eb2e8f9f7 91 */
<> 144:ef7eb2e8f9f7 92
<> 144:ef7eb2e8f9f7 93 /* Configuration of the Cortex-M3 Processor and Core Peripherals */
<> 144:ef7eb2e8f9f7 94 #define __MPU_PRESENT 1 /*!< MPU present or not */
<> 144:ef7eb2e8f9f7 95 #define __NVIC_PRIO_BITS 5 /*!< Number of Bits used for Priority Levels */
<> 144:ef7eb2e8f9f7 96 #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
<> 144:ef7eb2e8f9f7 97
<> 144:ef7eb2e8f9f7 98
<> 144:ef7eb2e8f9f7 99 #include "core_cm3.h" /* Cortex-M3 processor and core peripherals */
<> 144:ef7eb2e8f9f7 100 #include "system_LPC17xx.h" /* System Header */
<> 144:ef7eb2e8f9f7 101
<> 144:ef7eb2e8f9f7 102
<> 144:ef7eb2e8f9f7 103 /******************************************************************************/
<> 144:ef7eb2e8f9f7 104 /* Device Specific Peripheral registers structures */
<> 144:ef7eb2e8f9f7 105 /******************************************************************************/
<> 144:ef7eb2e8f9f7 106
<> 144:ef7eb2e8f9f7 107 #if defined ( __CC_ARM )
<> 144:ef7eb2e8f9f7 108 #pragma anon_unions
<> 144:ef7eb2e8f9f7 109 #endif
<> 144:ef7eb2e8f9f7 110
<> 144:ef7eb2e8f9f7 111 /*------------- System Control (SC) ------------------------------------------*/
<> 144:ef7eb2e8f9f7 112 typedef struct
<> 144:ef7eb2e8f9f7 113 {
<> 144:ef7eb2e8f9f7 114 __IO uint32_t FLASHCFG; /* Flash Accelerator Module */
<> 144:ef7eb2e8f9f7 115 uint32_t RESERVED0[31];
<> 144:ef7eb2e8f9f7 116 __IO uint32_t PLL0CON; /* Clocking and Power Control */
<> 144:ef7eb2e8f9f7 117 __IO uint32_t PLL0CFG;
<> 144:ef7eb2e8f9f7 118 __I uint32_t PLL0STAT;
<> 144:ef7eb2e8f9f7 119 __O uint32_t PLL0FEED;
<> 144:ef7eb2e8f9f7 120 uint32_t RESERVED1[4];
<> 144:ef7eb2e8f9f7 121 __IO uint32_t PLL1CON;
<> 144:ef7eb2e8f9f7 122 __IO uint32_t PLL1CFG;
<> 144:ef7eb2e8f9f7 123 __I uint32_t PLL1STAT;
<> 144:ef7eb2e8f9f7 124 __O uint32_t PLL1FEED;
<> 144:ef7eb2e8f9f7 125 uint32_t RESERVED2[4];
<> 144:ef7eb2e8f9f7 126 __IO uint32_t PCON;
<> 144:ef7eb2e8f9f7 127 __IO uint32_t PCONP;
<> 144:ef7eb2e8f9f7 128 uint32_t RESERVED3[15];
<> 144:ef7eb2e8f9f7 129 __IO uint32_t CCLKCFG;
<> 144:ef7eb2e8f9f7 130 __IO uint32_t USBCLKCFG;
<> 144:ef7eb2e8f9f7 131 __IO uint32_t CLKSRCSEL;
<> 144:ef7eb2e8f9f7 132 __IO uint32_t CANSLEEPCLR;
<> 144:ef7eb2e8f9f7 133 __IO uint32_t CANWAKEFLAGS;
<> 144:ef7eb2e8f9f7 134 uint32_t RESERVED4[10];
<> 144:ef7eb2e8f9f7 135 __IO uint32_t EXTINT; /* External Interrupts */
<> 144:ef7eb2e8f9f7 136 uint32_t RESERVED5;
<> 144:ef7eb2e8f9f7 137 __IO uint32_t EXTMODE;
<> 144:ef7eb2e8f9f7 138 __IO uint32_t EXTPOLAR;
<> 144:ef7eb2e8f9f7 139 uint32_t RESERVED6[12];
<> 144:ef7eb2e8f9f7 140 __IO uint32_t RSID; /* Reset */
<> 144:ef7eb2e8f9f7 141 uint32_t RESERVED7[7];
<> 144:ef7eb2e8f9f7 142 __IO uint32_t SCS; /* Syscon Miscellaneous Registers */
<> 144:ef7eb2e8f9f7 143 __IO uint32_t IRCTRIM; /* Clock Dividers */
<> 144:ef7eb2e8f9f7 144 __IO uint32_t PCLKSEL0;
<> 144:ef7eb2e8f9f7 145 __IO uint32_t PCLKSEL1;
<> 144:ef7eb2e8f9f7 146 uint32_t RESERVED8[4];
<> 144:ef7eb2e8f9f7 147 __IO uint32_t USBIntSt; /* USB Device/OTG Interrupt Register */
<> 144:ef7eb2e8f9f7 148 __IO uint32_t DMAREQSEL;
<> 144:ef7eb2e8f9f7 149 __IO uint32_t CLKOUTCFG; /* Clock Output Configuration */
<> 144:ef7eb2e8f9f7 150 } LPC_SC_TypeDef;
<> 144:ef7eb2e8f9f7 151
<> 144:ef7eb2e8f9f7 152 /*------------- Pin Connect Block (PINCON) -----------------------------------*/
<> 144:ef7eb2e8f9f7 153 typedef struct
<> 144:ef7eb2e8f9f7 154 {
<> 144:ef7eb2e8f9f7 155 __IO uint32_t PINSEL0;
<> 144:ef7eb2e8f9f7 156 __IO uint32_t PINSEL1;
<> 144:ef7eb2e8f9f7 157 __IO uint32_t PINSEL2;
<> 144:ef7eb2e8f9f7 158 __IO uint32_t PINSEL3;
<> 144:ef7eb2e8f9f7 159 __IO uint32_t PINSEL4;
<> 144:ef7eb2e8f9f7 160 __IO uint32_t PINSEL5;
<> 144:ef7eb2e8f9f7 161 __IO uint32_t PINSEL6;
<> 144:ef7eb2e8f9f7 162 __IO uint32_t PINSEL7;
<> 144:ef7eb2e8f9f7 163 __IO uint32_t PINSEL8;
<> 144:ef7eb2e8f9f7 164 __IO uint32_t PINSEL9;
<> 144:ef7eb2e8f9f7 165 __IO uint32_t PINSEL10;
<> 144:ef7eb2e8f9f7 166 uint32_t RESERVED0[5];
<> 144:ef7eb2e8f9f7 167 __IO uint32_t PINMODE0;
<> 144:ef7eb2e8f9f7 168 __IO uint32_t PINMODE1;
<> 144:ef7eb2e8f9f7 169 __IO uint32_t PINMODE2;
<> 144:ef7eb2e8f9f7 170 __IO uint32_t PINMODE3;
<> 144:ef7eb2e8f9f7 171 __IO uint32_t PINMODE4;
<> 144:ef7eb2e8f9f7 172 __IO uint32_t PINMODE5;
<> 144:ef7eb2e8f9f7 173 __IO uint32_t PINMODE6;
<> 144:ef7eb2e8f9f7 174 __IO uint32_t PINMODE7;
<> 144:ef7eb2e8f9f7 175 __IO uint32_t PINMODE8;
<> 144:ef7eb2e8f9f7 176 __IO uint32_t PINMODE9;
<> 144:ef7eb2e8f9f7 177 __IO uint32_t PINMODE_OD0;
<> 144:ef7eb2e8f9f7 178 __IO uint32_t PINMODE_OD1;
<> 144:ef7eb2e8f9f7 179 __IO uint32_t PINMODE_OD2;
<> 144:ef7eb2e8f9f7 180 __IO uint32_t PINMODE_OD3;
<> 144:ef7eb2e8f9f7 181 __IO uint32_t PINMODE_OD4;
<> 144:ef7eb2e8f9f7 182 __IO uint32_t I2CPADCFG;
<> 144:ef7eb2e8f9f7 183 } LPC_PINCON_TypeDef;
<> 144:ef7eb2e8f9f7 184
<> 144:ef7eb2e8f9f7 185 /*------------- General Purpose Input/Output (GPIO) --------------------------*/
<> 144:ef7eb2e8f9f7 186 typedef struct
<> 144:ef7eb2e8f9f7 187 {
<> 144:ef7eb2e8f9f7 188 union {
<> 144:ef7eb2e8f9f7 189 __IO uint32_t FIODIR;
<> 144:ef7eb2e8f9f7 190 struct {
<> 144:ef7eb2e8f9f7 191 __IO uint16_t FIODIRL;
<> 144:ef7eb2e8f9f7 192 __IO uint16_t FIODIRH;
<> 144:ef7eb2e8f9f7 193 };
<> 144:ef7eb2e8f9f7 194 struct {
<> 144:ef7eb2e8f9f7 195 __IO uint8_t FIODIR0;
<> 144:ef7eb2e8f9f7 196 __IO uint8_t FIODIR1;
<> 144:ef7eb2e8f9f7 197 __IO uint8_t FIODIR2;
<> 144:ef7eb2e8f9f7 198 __IO uint8_t FIODIR3;
<> 144:ef7eb2e8f9f7 199 };
<> 144:ef7eb2e8f9f7 200 };
<> 144:ef7eb2e8f9f7 201 uint32_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 202 union {
<> 144:ef7eb2e8f9f7 203 __IO uint32_t FIOMASK;
<> 144:ef7eb2e8f9f7 204 struct {
<> 144:ef7eb2e8f9f7 205 __IO uint16_t FIOMASKL;
<> 144:ef7eb2e8f9f7 206 __IO uint16_t FIOMASKH;
<> 144:ef7eb2e8f9f7 207 };
<> 144:ef7eb2e8f9f7 208 struct {
<> 144:ef7eb2e8f9f7 209 __IO uint8_t FIOMASK0;
<> 144:ef7eb2e8f9f7 210 __IO uint8_t FIOMASK1;
<> 144:ef7eb2e8f9f7 211 __IO uint8_t FIOMASK2;
<> 144:ef7eb2e8f9f7 212 __IO uint8_t FIOMASK3;
<> 144:ef7eb2e8f9f7 213 };
<> 144:ef7eb2e8f9f7 214 };
<> 144:ef7eb2e8f9f7 215 union {
<> 144:ef7eb2e8f9f7 216 __IO uint32_t FIOPIN;
<> 144:ef7eb2e8f9f7 217 struct {
<> 144:ef7eb2e8f9f7 218 __IO uint16_t FIOPINL;
<> 144:ef7eb2e8f9f7 219 __IO uint16_t FIOPINH;
<> 144:ef7eb2e8f9f7 220 };
<> 144:ef7eb2e8f9f7 221 struct {
<> 144:ef7eb2e8f9f7 222 __IO uint8_t FIOPIN0;
<> 144:ef7eb2e8f9f7 223 __IO uint8_t FIOPIN1;
<> 144:ef7eb2e8f9f7 224 __IO uint8_t FIOPIN2;
<> 144:ef7eb2e8f9f7 225 __IO uint8_t FIOPIN3;
<> 144:ef7eb2e8f9f7 226 };
<> 144:ef7eb2e8f9f7 227 };
<> 144:ef7eb2e8f9f7 228 union {
<> 144:ef7eb2e8f9f7 229 __IO uint32_t FIOSET;
<> 144:ef7eb2e8f9f7 230 struct {
<> 144:ef7eb2e8f9f7 231 __IO uint16_t FIOSETL;
<> 144:ef7eb2e8f9f7 232 __IO uint16_t FIOSETH;
<> 144:ef7eb2e8f9f7 233 };
<> 144:ef7eb2e8f9f7 234 struct {
<> 144:ef7eb2e8f9f7 235 __IO uint8_t FIOSET0;
<> 144:ef7eb2e8f9f7 236 __IO uint8_t FIOSET1;
<> 144:ef7eb2e8f9f7 237 __IO uint8_t FIOSET2;
<> 144:ef7eb2e8f9f7 238 __IO uint8_t FIOSET3;
<> 144:ef7eb2e8f9f7 239 };
<> 144:ef7eb2e8f9f7 240 };
<> 144:ef7eb2e8f9f7 241 union {
<> 144:ef7eb2e8f9f7 242 __O uint32_t FIOCLR;
<> 144:ef7eb2e8f9f7 243 struct {
<> 144:ef7eb2e8f9f7 244 __O uint16_t FIOCLRL;
<> 144:ef7eb2e8f9f7 245 __O uint16_t FIOCLRH;
<> 144:ef7eb2e8f9f7 246 };
<> 144:ef7eb2e8f9f7 247 struct {
<> 144:ef7eb2e8f9f7 248 __O uint8_t FIOCLR0;
<> 144:ef7eb2e8f9f7 249 __O uint8_t FIOCLR1;
<> 144:ef7eb2e8f9f7 250 __O uint8_t FIOCLR2;
<> 144:ef7eb2e8f9f7 251 __O uint8_t FIOCLR3;
<> 144:ef7eb2e8f9f7 252 };
<> 144:ef7eb2e8f9f7 253 };
<> 144:ef7eb2e8f9f7 254 } LPC_GPIO_TypeDef;
<> 144:ef7eb2e8f9f7 255
<> 144:ef7eb2e8f9f7 256 typedef struct
<> 144:ef7eb2e8f9f7 257 {
<> 144:ef7eb2e8f9f7 258 __I uint32_t IntStatus;
<> 144:ef7eb2e8f9f7 259 __I uint32_t IO0IntStatR;
<> 144:ef7eb2e8f9f7 260 __I uint32_t IO0IntStatF;
<> 144:ef7eb2e8f9f7 261 __O uint32_t IO0IntClr;
<> 144:ef7eb2e8f9f7 262 __IO uint32_t IO0IntEnR;
<> 144:ef7eb2e8f9f7 263 __IO uint32_t IO0IntEnF;
<> 144:ef7eb2e8f9f7 264 uint32_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 265 __I uint32_t IO2IntStatR;
<> 144:ef7eb2e8f9f7 266 __I uint32_t IO2IntStatF;
<> 144:ef7eb2e8f9f7 267 __O uint32_t IO2IntClr;
<> 144:ef7eb2e8f9f7 268 __IO uint32_t IO2IntEnR;
<> 144:ef7eb2e8f9f7 269 __IO uint32_t IO2IntEnF;
<> 144:ef7eb2e8f9f7 270 } LPC_GPIOINT_TypeDef;
<> 144:ef7eb2e8f9f7 271
<> 144:ef7eb2e8f9f7 272 /*------------- Timer (TIM) --------------------------------------------------*/
<> 144:ef7eb2e8f9f7 273 typedef struct
<> 144:ef7eb2e8f9f7 274 {
<> 144:ef7eb2e8f9f7 275 __IO uint32_t IR;
<> 144:ef7eb2e8f9f7 276 __IO uint32_t TCR;
<> 144:ef7eb2e8f9f7 277 __IO uint32_t TC;
<> 144:ef7eb2e8f9f7 278 __IO uint32_t PR;
<> 144:ef7eb2e8f9f7 279 __IO uint32_t PC;
<> 144:ef7eb2e8f9f7 280 __IO uint32_t MCR;
<> 144:ef7eb2e8f9f7 281 __IO uint32_t MR0;
<> 144:ef7eb2e8f9f7 282 __IO uint32_t MR1;
<> 144:ef7eb2e8f9f7 283 __IO uint32_t MR2;
<> 144:ef7eb2e8f9f7 284 __IO uint32_t MR3;
<> 144:ef7eb2e8f9f7 285 __IO uint32_t CCR;
<> 144:ef7eb2e8f9f7 286 __I uint32_t CR0;
<> 144:ef7eb2e8f9f7 287 __I uint32_t CR1;
<> 144:ef7eb2e8f9f7 288 uint32_t RESERVED0[2];
<> 144:ef7eb2e8f9f7 289 __IO uint32_t EMR;
<> 144:ef7eb2e8f9f7 290 uint32_t RESERVED1[12];
<> 144:ef7eb2e8f9f7 291 __IO uint32_t CTCR;
<> 144:ef7eb2e8f9f7 292 } LPC_TIM_TypeDef;
<> 144:ef7eb2e8f9f7 293
<> 144:ef7eb2e8f9f7 294 /*------------- Pulse-Width Modulation (PWM) ---------------------------------*/
<> 144:ef7eb2e8f9f7 295 typedef struct
<> 144:ef7eb2e8f9f7 296 {
<> 144:ef7eb2e8f9f7 297 __IO uint32_t IR;
<> 144:ef7eb2e8f9f7 298 __IO uint32_t TCR;
<> 144:ef7eb2e8f9f7 299 __IO uint32_t TC;
<> 144:ef7eb2e8f9f7 300 __IO uint32_t PR;
<> 144:ef7eb2e8f9f7 301 __IO uint32_t PC;
<> 144:ef7eb2e8f9f7 302 __IO uint32_t MCR;
<> 144:ef7eb2e8f9f7 303 __IO uint32_t MR0;
<> 144:ef7eb2e8f9f7 304 __IO uint32_t MR1;
<> 144:ef7eb2e8f9f7 305 __IO uint32_t MR2;
<> 144:ef7eb2e8f9f7 306 __IO uint32_t MR3;
<> 144:ef7eb2e8f9f7 307 __IO uint32_t CCR;
<> 144:ef7eb2e8f9f7 308 __I uint32_t CR0;
<> 144:ef7eb2e8f9f7 309 __I uint32_t CR1;
<> 144:ef7eb2e8f9f7 310 __I uint32_t CR2;
<> 144:ef7eb2e8f9f7 311 __I uint32_t CR3;
<> 144:ef7eb2e8f9f7 312 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 313 __IO uint32_t MR4;
<> 144:ef7eb2e8f9f7 314 __IO uint32_t MR5;
<> 144:ef7eb2e8f9f7 315 __IO uint32_t MR6;
<> 144:ef7eb2e8f9f7 316 __IO uint32_t PCR;
<> 144:ef7eb2e8f9f7 317 __IO uint32_t LER;
<> 144:ef7eb2e8f9f7 318 uint32_t RESERVED1[7];
<> 144:ef7eb2e8f9f7 319 __IO uint32_t CTCR;
<> 144:ef7eb2e8f9f7 320 } LPC_PWM_TypeDef;
<> 144:ef7eb2e8f9f7 321
<> 144:ef7eb2e8f9f7 322 /*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
<> 144:ef7eb2e8f9f7 323 typedef struct
<> 144:ef7eb2e8f9f7 324 {
<> 144:ef7eb2e8f9f7 325 union {
<> 144:ef7eb2e8f9f7 326 __I uint8_t RBR;
<> 144:ef7eb2e8f9f7 327 __O uint8_t THR;
<> 144:ef7eb2e8f9f7 328 __IO uint8_t DLL;
<> 144:ef7eb2e8f9f7 329 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 330 };
<> 144:ef7eb2e8f9f7 331 union {
<> 144:ef7eb2e8f9f7 332 __IO uint8_t DLM;
<> 144:ef7eb2e8f9f7 333 __IO uint32_t IER;
<> 144:ef7eb2e8f9f7 334 };
<> 144:ef7eb2e8f9f7 335 union {
<> 144:ef7eb2e8f9f7 336 __I uint32_t IIR;
<> 144:ef7eb2e8f9f7 337 __O uint8_t FCR;
<> 144:ef7eb2e8f9f7 338 };
<> 144:ef7eb2e8f9f7 339 __IO uint8_t LCR;
<> 144:ef7eb2e8f9f7 340 uint8_t RESERVED1[7];
<> 144:ef7eb2e8f9f7 341 __I uint8_t LSR;
<> 144:ef7eb2e8f9f7 342 uint8_t RESERVED2[7];
<> 144:ef7eb2e8f9f7 343 __IO uint8_t SCR;
<> 144:ef7eb2e8f9f7 344 uint8_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 345 __IO uint32_t ACR;
<> 144:ef7eb2e8f9f7 346 __IO uint8_t ICR;
<> 144:ef7eb2e8f9f7 347 uint8_t RESERVED4[3];
<> 144:ef7eb2e8f9f7 348 __IO uint8_t FDR;
<> 144:ef7eb2e8f9f7 349 uint8_t RESERVED5[7];
<> 144:ef7eb2e8f9f7 350 __IO uint8_t TER;
<> 144:ef7eb2e8f9f7 351 uint8_t RESERVED6[39];
<> 144:ef7eb2e8f9f7 352 __IO uint32_t FIFOLVL;
<> 144:ef7eb2e8f9f7 353 } LPC_UART_TypeDef;
<> 144:ef7eb2e8f9f7 354
<> 144:ef7eb2e8f9f7 355 typedef struct
<> 144:ef7eb2e8f9f7 356 {
<> 144:ef7eb2e8f9f7 357 union {
<> 144:ef7eb2e8f9f7 358 __I uint8_t RBR;
<> 144:ef7eb2e8f9f7 359 __O uint8_t THR;
<> 144:ef7eb2e8f9f7 360 __IO uint8_t DLL;
<> 144:ef7eb2e8f9f7 361 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 362 };
<> 144:ef7eb2e8f9f7 363 union {
<> 144:ef7eb2e8f9f7 364 __IO uint8_t DLM;
<> 144:ef7eb2e8f9f7 365 __IO uint32_t IER;
<> 144:ef7eb2e8f9f7 366 };
<> 144:ef7eb2e8f9f7 367 union {
<> 144:ef7eb2e8f9f7 368 __I uint32_t IIR;
<> 144:ef7eb2e8f9f7 369 __O uint8_t FCR;
<> 144:ef7eb2e8f9f7 370 };
<> 144:ef7eb2e8f9f7 371 __IO uint8_t LCR;
<> 144:ef7eb2e8f9f7 372 uint8_t RESERVED1[7];
<> 144:ef7eb2e8f9f7 373 __I uint8_t LSR;
<> 144:ef7eb2e8f9f7 374 uint8_t RESERVED2[7];
<> 144:ef7eb2e8f9f7 375 __IO uint8_t SCR;
<> 144:ef7eb2e8f9f7 376 uint8_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 377 __IO uint32_t ACR;
<> 144:ef7eb2e8f9f7 378 __IO uint8_t ICR;
<> 144:ef7eb2e8f9f7 379 uint8_t RESERVED4[3];
<> 144:ef7eb2e8f9f7 380 __IO uint8_t FDR;
<> 144:ef7eb2e8f9f7 381 uint8_t RESERVED5[7];
<> 144:ef7eb2e8f9f7 382 __IO uint8_t TER;
<> 144:ef7eb2e8f9f7 383 uint8_t RESERVED6[39];
<> 144:ef7eb2e8f9f7 384 __IO uint32_t FIFOLVL;
<> 144:ef7eb2e8f9f7 385 } LPC_UART0_TypeDef;
<> 144:ef7eb2e8f9f7 386
<> 144:ef7eb2e8f9f7 387 typedef struct
<> 144:ef7eb2e8f9f7 388 {
<> 144:ef7eb2e8f9f7 389 union {
<> 144:ef7eb2e8f9f7 390 __I uint8_t RBR;
<> 144:ef7eb2e8f9f7 391 __O uint8_t THR;
<> 144:ef7eb2e8f9f7 392 __IO uint8_t DLL;
<> 144:ef7eb2e8f9f7 393 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 394 };
<> 144:ef7eb2e8f9f7 395 union {
<> 144:ef7eb2e8f9f7 396 __IO uint8_t DLM;
<> 144:ef7eb2e8f9f7 397 __IO uint32_t IER;
<> 144:ef7eb2e8f9f7 398 };
<> 144:ef7eb2e8f9f7 399 union {
<> 144:ef7eb2e8f9f7 400 __I uint32_t IIR;
<> 144:ef7eb2e8f9f7 401 __O uint8_t FCR;
<> 144:ef7eb2e8f9f7 402 };
<> 144:ef7eb2e8f9f7 403 __IO uint8_t LCR;
<> 144:ef7eb2e8f9f7 404 uint8_t RESERVED1[3];
<> 144:ef7eb2e8f9f7 405 __IO uint8_t MCR;
<> 144:ef7eb2e8f9f7 406 uint8_t RESERVED2[3];
<> 144:ef7eb2e8f9f7 407 __I uint8_t LSR;
<> 144:ef7eb2e8f9f7 408 uint8_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 409 __I uint8_t MSR;
<> 144:ef7eb2e8f9f7 410 uint8_t RESERVED4[3];
<> 144:ef7eb2e8f9f7 411 __IO uint8_t SCR;
<> 144:ef7eb2e8f9f7 412 uint8_t RESERVED5[3];
<> 144:ef7eb2e8f9f7 413 __IO uint32_t ACR;
<> 144:ef7eb2e8f9f7 414 uint32_t RESERVED6;
<> 144:ef7eb2e8f9f7 415 __IO uint32_t FDR;
<> 144:ef7eb2e8f9f7 416 uint32_t RESERVED7;
<> 144:ef7eb2e8f9f7 417 __IO uint8_t TER;
<> 144:ef7eb2e8f9f7 418 uint8_t RESERVED8[27];
<> 144:ef7eb2e8f9f7 419 __IO uint8_t RS485CTRL;
<> 144:ef7eb2e8f9f7 420 uint8_t RESERVED9[3];
<> 144:ef7eb2e8f9f7 421 __IO uint8_t ADRMATCH;
<> 144:ef7eb2e8f9f7 422 uint8_t RESERVED10[3];
<> 144:ef7eb2e8f9f7 423 __IO uint8_t RS485DLY;
<> 144:ef7eb2e8f9f7 424 uint8_t RESERVED11[3];
<> 144:ef7eb2e8f9f7 425 __IO uint32_t FIFOLVL;
<> 144:ef7eb2e8f9f7 426 } LPC_UART1_TypeDef;
<> 144:ef7eb2e8f9f7 427
<> 144:ef7eb2e8f9f7 428 /*------------- Serial Peripheral Interface (SPI) ----------------------------*/
<> 144:ef7eb2e8f9f7 429 typedef struct
<> 144:ef7eb2e8f9f7 430 {
<> 144:ef7eb2e8f9f7 431 __IO uint32_t SPCR;
<> 144:ef7eb2e8f9f7 432 __I uint32_t SPSR;
<> 144:ef7eb2e8f9f7 433 __IO uint32_t SPDR;
<> 144:ef7eb2e8f9f7 434 __IO uint32_t SPCCR;
<> 144:ef7eb2e8f9f7 435 uint32_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 436 __IO uint32_t SPINT;
<> 144:ef7eb2e8f9f7 437 } LPC_SPI_TypeDef;
<> 144:ef7eb2e8f9f7 438
<> 144:ef7eb2e8f9f7 439 /*------------- Synchronous Serial Communication (SSP) -----------------------*/
<> 144:ef7eb2e8f9f7 440 typedef struct
<> 144:ef7eb2e8f9f7 441 {
<> 144:ef7eb2e8f9f7 442 __IO uint32_t CR0;
<> 144:ef7eb2e8f9f7 443 __IO uint32_t CR1;
<> 144:ef7eb2e8f9f7 444 __IO uint32_t DR;
<> 144:ef7eb2e8f9f7 445 __I uint32_t SR;
<> 144:ef7eb2e8f9f7 446 __IO uint32_t CPSR;
<> 144:ef7eb2e8f9f7 447 __IO uint32_t IMSC;
<> 144:ef7eb2e8f9f7 448 __IO uint32_t RIS;
<> 144:ef7eb2e8f9f7 449 __IO uint32_t MIS;
<> 144:ef7eb2e8f9f7 450 __IO uint32_t ICR;
<> 144:ef7eb2e8f9f7 451 __IO uint32_t DMACR;
<> 144:ef7eb2e8f9f7 452 } LPC_SSP_TypeDef;
<> 144:ef7eb2e8f9f7 453
<> 144:ef7eb2e8f9f7 454 /*------------- Inter-Integrated Circuit (I2C) -------------------------------*/
<> 144:ef7eb2e8f9f7 455 typedef struct
<> 144:ef7eb2e8f9f7 456 {
<> 144:ef7eb2e8f9f7 457 __IO uint32_t I2CONSET;
<> 144:ef7eb2e8f9f7 458 __I uint32_t I2STAT;
<> 144:ef7eb2e8f9f7 459 __IO uint32_t I2DAT;
<> 144:ef7eb2e8f9f7 460 __IO uint32_t I2ADR0;
<> 144:ef7eb2e8f9f7 461 __IO uint32_t I2SCLH;
<> 144:ef7eb2e8f9f7 462 __IO uint32_t I2SCLL;
<> 144:ef7eb2e8f9f7 463 __O uint32_t I2CONCLR;
<> 144:ef7eb2e8f9f7 464 __IO uint32_t MMCTRL;
<> 144:ef7eb2e8f9f7 465 __IO uint32_t I2ADR1;
<> 144:ef7eb2e8f9f7 466 __IO uint32_t I2ADR2;
<> 144:ef7eb2e8f9f7 467 __IO uint32_t I2ADR3;
<> 144:ef7eb2e8f9f7 468 __I uint32_t I2DATA_BUFFER;
<> 144:ef7eb2e8f9f7 469 __IO uint32_t I2MASK0;
<> 144:ef7eb2e8f9f7 470 __IO uint32_t I2MASK1;
<> 144:ef7eb2e8f9f7 471 __IO uint32_t I2MASK2;
<> 144:ef7eb2e8f9f7 472 __IO uint32_t I2MASK3;
<> 144:ef7eb2e8f9f7 473 } LPC_I2C_TypeDef;
<> 144:ef7eb2e8f9f7 474
<> 144:ef7eb2e8f9f7 475 /*------------- Inter IC Sound (I2S) -----------------------------------------*/
<> 144:ef7eb2e8f9f7 476 typedef struct
<> 144:ef7eb2e8f9f7 477 {
<> 144:ef7eb2e8f9f7 478 __IO uint32_t I2SDAO;
<> 144:ef7eb2e8f9f7 479 __IO uint32_t I2SDAI;
<> 144:ef7eb2e8f9f7 480 __O uint32_t I2STXFIFO;
<> 144:ef7eb2e8f9f7 481 __I uint32_t I2SRXFIFO;
<> 144:ef7eb2e8f9f7 482 __I uint32_t I2SSTATE;
<> 144:ef7eb2e8f9f7 483 __IO uint32_t I2SDMA1;
<> 144:ef7eb2e8f9f7 484 __IO uint32_t I2SDMA2;
<> 144:ef7eb2e8f9f7 485 __IO uint32_t I2SIRQ;
<> 144:ef7eb2e8f9f7 486 __IO uint32_t I2STXRATE;
<> 144:ef7eb2e8f9f7 487 __IO uint32_t I2SRXRATE;
<> 144:ef7eb2e8f9f7 488 __IO uint32_t I2STXBITRATE;
<> 144:ef7eb2e8f9f7 489 __IO uint32_t I2SRXBITRATE;
<> 144:ef7eb2e8f9f7 490 __IO uint32_t I2STXMODE;
<> 144:ef7eb2e8f9f7 491 __IO uint32_t I2SRXMODE;
<> 144:ef7eb2e8f9f7 492 } LPC_I2S_TypeDef;
<> 144:ef7eb2e8f9f7 493
<> 144:ef7eb2e8f9f7 494 /*------------- Repetitive Interrupt Timer (RIT) -----------------------------*/
<> 144:ef7eb2e8f9f7 495 typedef struct
<> 144:ef7eb2e8f9f7 496 {
<> 144:ef7eb2e8f9f7 497 __IO uint32_t RICOMPVAL;
<> 144:ef7eb2e8f9f7 498 __IO uint32_t RIMASK;
<> 144:ef7eb2e8f9f7 499 __IO uint8_t RICTRL;
<> 144:ef7eb2e8f9f7 500 uint8_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 501 __IO uint32_t RICOUNTER;
<> 144:ef7eb2e8f9f7 502 } LPC_RIT_TypeDef;
<> 144:ef7eb2e8f9f7 503
<> 144:ef7eb2e8f9f7 504 /*------------- Real-Time Clock (RTC) ----------------------------------------*/
<> 144:ef7eb2e8f9f7 505 typedef struct
<> 144:ef7eb2e8f9f7 506 {
<> 144:ef7eb2e8f9f7 507 __IO uint8_t ILR;
<> 144:ef7eb2e8f9f7 508 uint8_t RESERVED0[7];
<> 144:ef7eb2e8f9f7 509 __IO uint8_t CCR;
<> 144:ef7eb2e8f9f7 510 uint8_t RESERVED1[3];
<> 144:ef7eb2e8f9f7 511 __IO uint8_t CIIR;
<> 144:ef7eb2e8f9f7 512 uint8_t RESERVED2[3];
<> 144:ef7eb2e8f9f7 513 __IO uint8_t AMR;
<> 144:ef7eb2e8f9f7 514 uint8_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 515 __I uint32_t CTIME0;
<> 144:ef7eb2e8f9f7 516 __I uint32_t CTIME1;
<> 144:ef7eb2e8f9f7 517 __I uint32_t CTIME2;
<> 144:ef7eb2e8f9f7 518 __IO uint8_t SEC;
<> 144:ef7eb2e8f9f7 519 uint8_t RESERVED4[3];
<> 144:ef7eb2e8f9f7 520 __IO uint8_t MIN;
<> 144:ef7eb2e8f9f7 521 uint8_t RESERVED5[3];
<> 144:ef7eb2e8f9f7 522 __IO uint8_t HOUR;
<> 144:ef7eb2e8f9f7 523 uint8_t RESERVED6[3];
<> 144:ef7eb2e8f9f7 524 __IO uint8_t DOM;
<> 144:ef7eb2e8f9f7 525 uint8_t RESERVED7[3];
<> 144:ef7eb2e8f9f7 526 __IO uint8_t DOW;
<> 144:ef7eb2e8f9f7 527 uint8_t RESERVED8[3];
<> 144:ef7eb2e8f9f7 528 __IO uint16_t DOY;
<> 144:ef7eb2e8f9f7 529 uint16_t RESERVED9;
<> 144:ef7eb2e8f9f7 530 __IO uint8_t MONTH;
<> 144:ef7eb2e8f9f7 531 uint8_t RESERVED10[3];
<> 144:ef7eb2e8f9f7 532 __IO uint16_t YEAR;
<> 144:ef7eb2e8f9f7 533 uint16_t RESERVED11;
<> 144:ef7eb2e8f9f7 534 __IO uint32_t CALIBRATION;
<> 144:ef7eb2e8f9f7 535 __IO uint32_t GPREG0;
<> 144:ef7eb2e8f9f7 536 __IO uint32_t GPREG1;
<> 144:ef7eb2e8f9f7 537 __IO uint32_t GPREG2;
<> 144:ef7eb2e8f9f7 538 __IO uint32_t GPREG3;
<> 144:ef7eb2e8f9f7 539 __IO uint32_t GPREG4;
<> 144:ef7eb2e8f9f7 540 __IO uint8_t RTC_AUXEN;
<> 144:ef7eb2e8f9f7 541 uint8_t RESERVED12[3];
<> 144:ef7eb2e8f9f7 542 __IO uint8_t RTC_AUX;
<> 144:ef7eb2e8f9f7 543 uint8_t RESERVED13[3];
<> 144:ef7eb2e8f9f7 544 __IO uint8_t ALSEC;
<> 144:ef7eb2e8f9f7 545 uint8_t RESERVED14[3];
<> 144:ef7eb2e8f9f7 546 __IO uint8_t ALMIN;
<> 144:ef7eb2e8f9f7 547 uint8_t RESERVED15[3];
<> 144:ef7eb2e8f9f7 548 __IO uint8_t ALHOUR;
<> 144:ef7eb2e8f9f7 549 uint8_t RESERVED16[3];
<> 144:ef7eb2e8f9f7 550 __IO uint8_t ALDOM;
<> 144:ef7eb2e8f9f7 551 uint8_t RESERVED17[3];
<> 144:ef7eb2e8f9f7 552 __IO uint8_t ALDOW;
<> 144:ef7eb2e8f9f7 553 uint8_t RESERVED18[3];
<> 144:ef7eb2e8f9f7 554 __IO uint16_t ALDOY;
<> 144:ef7eb2e8f9f7 555 uint16_t RESERVED19;
<> 144:ef7eb2e8f9f7 556 __IO uint8_t ALMON;
<> 144:ef7eb2e8f9f7 557 uint8_t RESERVED20[3];
<> 144:ef7eb2e8f9f7 558 __IO uint16_t ALYEAR;
<> 144:ef7eb2e8f9f7 559 uint16_t RESERVED21;
<> 144:ef7eb2e8f9f7 560 } LPC_RTC_TypeDef;
<> 144:ef7eb2e8f9f7 561
<> 144:ef7eb2e8f9f7 562 /*------------- Watchdog Timer (WDT) -----------------------------------------*/
<> 144:ef7eb2e8f9f7 563 typedef struct
<> 144:ef7eb2e8f9f7 564 {
<> 144:ef7eb2e8f9f7 565 __IO uint8_t WDMOD;
<> 144:ef7eb2e8f9f7 566 uint8_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 567 __IO uint32_t WDTC;
<> 144:ef7eb2e8f9f7 568 __O uint8_t WDFEED;
<> 144:ef7eb2e8f9f7 569 uint8_t RESERVED1[3];
<> 144:ef7eb2e8f9f7 570 __I uint32_t WDTV;
<> 144:ef7eb2e8f9f7 571 __IO uint32_t WDCLKSEL;
<> 144:ef7eb2e8f9f7 572 } LPC_WDT_TypeDef;
<> 144:ef7eb2e8f9f7 573
<> 144:ef7eb2e8f9f7 574 /*------------- Analog-to-Digital Converter (ADC) ----------------------------*/
<> 144:ef7eb2e8f9f7 575 typedef struct
<> 144:ef7eb2e8f9f7 576 {
<> 144:ef7eb2e8f9f7 577 __IO uint32_t ADCR;
<> 144:ef7eb2e8f9f7 578 __IO uint32_t ADGDR;
<> 144:ef7eb2e8f9f7 579 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 580 __IO uint32_t ADINTEN;
<> 144:ef7eb2e8f9f7 581 __I uint32_t ADDR0;
<> 144:ef7eb2e8f9f7 582 __I uint32_t ADDR1;
<> 144:ef7eb2e8f9f7 583 __I uint32_t ADDR2;
<> 144:ef7eb2e8f9f7 584 __I uint32_t ADDR3;
<> 144:ef7eb2e8f9f7 585 __I uint32_t ADDR4;
<> 144:ef7eb2e8f9f7 586 __I uint32_t ADDR5;
<> 144:ef7eb2e8f9f7 587 __I uint32_t ADDR6;
<> 144:ef7eb2e8f9f7 588 __I uint32_t ADDR7;
<> 144:ef7eb2e8f9f7 589 __I uint32_t ADSTAT;
<> 144:ef7eb2e8f9f7 590 __IO uint32_t ADTRM;
<> 144:ef7eb2e8f9f7 591 } LPC_ADC_TypeDef;
<> 144:ef7eb2e8f9f7 592
<> 144:ef7eb2e8f9f7 593 /*------------- Digital-to-Analog Converter (DAC) ----------------------------*/
<> 144:ef7eb2e8f9f7 594 typedef struct
<> 144:ef7eb2e8f9f7 595 {
<> 144:ef7eb2e8f9f7 596 __IO uint32_t DACR;
<> 144:ef7eb2e8f9f7 597 __IO uint32_t DACCTRL;
<> 144:ef7eb2e8f9f7 598 __IO uint16_t DACCNTVAL;
<> 144:ef7eb2e8f9f7 599 } LPC_DAC_TypeDef;
<> 144:ef7eb2e8f9f7 600
<> 144:ef7eb2e8f9f7 601 /*------------- Motor Control Pulse-Width Modulation (MCPWM) -----------------*/
<> 144:ef7eb2e8f9f7 602 typedef struct
<> 144:ef7eb2e8f9f7 603 {
<> 144:ef7eb2e8f9f7 604 __I uint32_t MCCON;
<> 144:ef7eb2e8f9f7 605 __O uint32_t MCCON_SET;
<> 144:ef7eb2e8f9f7 606 __O uint32_t MCCON_CLR;
<> 144:ef7eb2e8f9f7 607 __I uint32_t MCCAPCON;
<> 144:ef7eb2e8f9f7 608 __O uint32_t MCCAPCON_SET;
<> 144:ef7eb2e8f9f7 609 __O uint32_t MCCAPCON_CLR;
<> 144:ef7eb2e8f9f7 610 __IO uint32_t MCTIM0;
<> 144:ef7eb2e8f9f7 611 __IO uint32_t MCTIM1;
<> 144:ef7eb2e8f9f7 612 __IO uint32_t MCTIM2;
<> 144:ef7eb2e8f9f7 613 __IO uint32_t MCPER0;
<> 144:ef7eb2e8f9f7 614 __IO uint32_t MCPER1;
<> 144:ef7eb2e8f9f7 615 __IO uint32_t MCPER2;
<> 144:ef7eb2e8f9f7 616 __IO uint32_t MCPW0;
<> 144:ef7eb2e8f9f7 617 __IO uint32_t MCPW1;
<> 144:ef7eb2e8f9f7 618 __IO uint32_t MCPW2;
<> 144:ef7eb2e8f9f7 619 __IO uint32_t MCDEADTIME;
<> 144:ef7eb2e8f9f7 620 __IO uint32_t MCCCP;
<> 144:ef7eb2e8f9f7 621 __IO uint32_t MCCR0;
<> 144:ef7eb2e8f9f7 622 __IO uint32_t MCCR1;
<> 144:ef7eb2e8f9f7 623 __IO uint32_t MCCR2;
<> 144:ef7eb2e8f9f7 624 __I uint32_t MCINTEN;
<> 144:ef7eb2e8f9f7 625 __O uint32_t MCINTEN_SET;
<> 144:ef7eb2e8f9f7 626 __O uint32_t MCINTEN_CLR;
<> 144:ef7eb2e8f9f7 627 __I uint32_t MCCNTCON;
<> 144:ef7eb2e8f9f7 628 __O uint32_t MCCNTCON_SET;
<> 144:ef7eb2e8f9f7 629 __O uint32_t MCCNTCON_CLR;
<> 144:ef7eb2e8f9f7 630 __I uint32_t MCINTFLAG;
<> 144:ef7eb2e8f9f7 631 __O uint32_t MCINTFLAG_SET;
<> 144:ef7eb2e8f9f7 632 __O uint32_t MCINTFLAG_CLR;
<> 144:ef7eb2e8f9f7 633 __O uint32_t MCCAP_CLR;
<> 144:ef7eb2e8f9f7 634 } LPC_MCPWM_TypeDef;
<> 144:ef7eb2e8f9f7 635
<> 144:ef7eb2e8f9f7 636 /*------------- Quadrature Encoder Interface (QEI) ---------------------------*/
<> 144:ef7eb2e8f9f7 637 typedef struct
<> 144:ef7eb2e8f9f7 638 {
<> 144:ef7eb2e8f9f7 639 __O uint32_t QEICON;
<> 144:ef7eb2e8f9f7 640 __I uint32_t QEISTAT;
<> 144:ef7eb2e8f9f7 641 __IO uint32_t QEICONF;
<> 144:ef7eb2e8f9f7 642 __I uint32_t QEIPOS;
<> 144:ef7eb2e8f9f7 643 __IO uint32_t QEIMAXPOS;
<> 144:ef7eb2e8f9f7 644 __IO uint32_t CMPOS0;
<> 144:ef7eb2e8f9f7 645 __IO uint32_t CMPOS1;
<> 144:ef7eb2e8f9f7 646 __IO uint32_t CMPOS2;
<> 144:ef7eb2e8f9f7 647 __I uint32_t INXCNT;
<> 144:ef7eb2e8f9f7 648 __IO uint32_t INXCMP;
<> 144:ef7eb2e8f9f7 649 __IO uint32_t QEILOAD;
<> 144:ef7eb2e8f9f7 650 __I uint32_t QEITIME;
<> 144:ef7eb2e8f9f7 651 __I uint32_t QEIVEL;
<> 144:ef7eb2e8f9f7 652 __I uint32_t QEICAP;
<> 144:ef7eb2e8f9f7 653 __IO uint32_t VELCOMP;
<> 144:ef7eb2e8f9f7 654 __IO uint32_t FILTER;
<> 144:ef7eb2e8f9f7 655 uint32_t RESERVED0[998];
<> 144:ef7eb2e8f9f7 656 __O uint32_t QEIIEC;
<> 144:ef7eb2e8f9f7 657 __O uint32_t QEIIES;
<> 144:ef7eb2e8f9f7 658 __I uint32_t QEIINTSTAT;
<> 144:ef7eb2e8f9f7 659 __I uint32_t QEIIE;
<> 144:ef7eb2e8f9f7 660 __O uint32_t QEICLR;
<> 144:ef7eb2e8f9f7 661 __O uint32_t QEISET;
<> 144:ef7eb2e8f9f7 662 } LPC_QEI_TypeDef;
<> 144:ef7eb2e8f9f7 663
<> 144:ef7eb2e8f9f7 664 /*------------- Controller Area Network (CAN) --------------------------------*/
<> 144:ef7eb2e8f9f7 665 typedef struct
<> 144:ef7eb2e8f9f7 666 {
<> 144:ef7eb2e8f9f7 667 __IO uint32_t mask[512]; /* ID Masks */
<> 144:ef7eb2e8f9f7 668 } LPC_CANAF_RAM_TypeDef;
<> 144:ef7eb2e8f9f7 669
<> 144:ef7eb2e8f9f7 670 typedef struct /* Acceptance Filter Registers */
<> 144:ef7eb2e8f9f7 671 {
<> 144:ef7eb2e8f9f7 672 __IO uint32_t AFMR;
<> 144:ef7eb2e8f9f7 673 __IO uint32_t SFF_sa;
<> 144:ef7eb2e8f9f7 674 __IO uint32_t SFF_GRP_sa;
<> 144:ef7eb2e8f9f7 675 __IO uint32_t EFF_sa;
<> 144:ef7eb2e8f9f7 676 __IO uint32_t EFF_GRP_sa;
<> 144:ef7eb2e8f9f7 677 __IO uint32_t ENDofTable;
<> 144:ef7eb2e8f9f7 678 __I uint32_t LUTerrAd;
<> 144:ef7eb2e8f9f7 679 __I uint32_t LUTerr;
<> 144:ef7eb2e8f9f7 680 __IO uint32_t FCANIE;
<> 144:ef7eb2e8f9f7 681 __IO uint32_t FCANIC0;
<> 144:ef7eb2e8f9f7 682 __IO uint32_t FCANIC1;
<> 144:ef7eb2e8f9f7 683 } LPC_CANAF_TypeDef;
<> 144:ef7eb2e8f9f7 684
<> 144:ef7eb2e8f9f7 685 typedef struct /* Central Registers */
<> 144:ef7eb2e8f9f7 686 {
<> 144:ef7eb2e8f9f7 687 __I uint32_t CANTxSR;
<> 144:ef7eb2e8f9f7 688 __I uint32_t CANRxSR;
<> 144:ef7eb2e8f9f7 689 __I uint32_t CANMSR;
<> 144:ef7eb2e8f9f7 690 } LPC_CANCR_TypeDef;
<> 144:ef7eb2e8f9f7 691
<> 144:ef7eb2e8f9f7 692 typedef struct /* Controller Registers */
<> 144:ef7eb2e8f9f7 693 {
<> 144:ef7eb2e8f9f7 694 __IO uint32_t MOD;
<> 144:ef7eb2e8f9f7 695 __O uint32_t CMR;
<> 144:ef7eb2e8f9f7 696 __IO uint32_t GSR;
<> 144:ef7eb2e8f9f7 697 __I uint32_t ICR;
<> 144:ef7eb2e8f9f7 698 __IO uint32_t IER;
<> 144:ef7eb2e8f9f7 699 __IO uint32_t BTR;
<> 144:ef7eb2e8f9f7 700 __IO uint32_t EWL;
<> 144:ef7eb2e8f9f7 701 __I uint32_t SR;
<> 144:ef7eb2e8f9f7 702 __IO uint32_t RFS;
<> 144:ef7eb2e8f9f7 703 __IO uint32_t RID;
<> 144:ef7eb2e8f9f7 704 __IO uint32_t RDA;
<> 144:ef7eb2e8f9f7 705 __IO uint32_t RDB;
<> 144:ef7eb2e8f9f7 706 __IO uint32_t TFI1;
<> 144:ef7eb2e8f9f7 707 __IO uint32_t TID1;
<> 144:ef7eb2e8f9f7 708 __IO uint32_t TDA1;
<> 144:ef7eb2e8f9f7 709 __IO uint32_t TDB1;
<> 144:ef7eb2e8f9f7 710 __IO uint32_t TFI2;
<> 144:ef7eb2e8f9f7 711 __IO uint32_t TID2;
<> 144:ef7eb2e8f9f7 712 __IO uint32_t TDA2;
<> 144:ef7eb2e8f9f7 713 __IO uint32_t TDB2;
<> 144:ef7eb2e8f9f7 714 __IO uint32_t TFI3;
<> 144:ef7eb2e8f9f7 715 __IO uint32_t TID3;
<> 144:ef7eb2e8f9f7 716 __IO uint32_t TDA3;
<> 144:ef7eb2e8f9f7 717 __IO uint32_t TDB3;
<> 144:ef7eb2e8f9f7 718 } LPC_CAN_TypeDef;
<> 144:ef7eb2e8f9f7 719
<> 144:ef7eb2e8f9f7 720 /*------------- General Purpose Direct Memory Access (GPDMA) -----------------*/
<> 144:ef7eb2e8f9f7 721 typedef struct /* Common Registers */
<> 144:ef7eb2e8f9f7 722 {
<> 144:ef7eb2e8f9f7 723 __I uint32_t DMACIntStat;
<> 144:ef7eb2e8f9f7 724 __I uint32_t DMACIntTCStat;
<> 144:ef7eb2e8f9f7 725 __O uint32_t DMACIntTCClear;
<> 144:ef7eb2e8f9f7 726 __I uint32_t DMACIntErrStat;
<> 144:ef7eb2e8f9f7 727 __O uint32_t DMACIntErrClr;
<> 144:ef7eb2e8f9f7 728 __I uint32_t DMACRawIntTCStat;
<> 144:ef7eb2e8f9f7 729 __I uint32_t DMACRawIntErrStat;
<> 144:ef7eb2e8f9f7 730 __I uint32_t DMACEnbldChns;
<> 144:ef7eb2e8f9f7 731 __IO uint32_t DMACSoftBReq;
<> 144:ef7eb2e8f9f7 732 __IO uint32_t DMACSoftSReq;
<> 144:ef7eb2e8f9f7 733 __IO uint32_t DMACSoftLBReq;
<> 144:ef7eb2e8f9f7 734 __IO uint32_t DMACSoftLSReq;
<> 144:ef7eb2e8f9f7 735 __IO uint32_t DMACConfig;
<> 144:ef7eb2e8f9f7 736 __IO uint32_t DMACSync;
<> 144:ef7eb2e8f9f7 737 } LPC_GPDMA_TypeDef;
<> 144:ef7eb2e8f9f7 738
<> 144:ef7eb2e8f9f7 739 typedef struct /* Channel Registers */
<> 144:ef7eb2e8f9f7 740 {
<> 144:ef7eb2e8f9f7 741 __IO uint32_t DMACCSrcAddr;
<> 144:ef7eb2e8f9f7 742 __IO uint32_t DMACCDestAddr;
<> 144:ef7eb2e8f9f7 743 __IO uint32_t DMACCLLI;
<> 144:ef7eb2e8f9f7 744 __IO uint32_t DMACCControl;
<> 144:ef7eb2e8f9f7 745 __IO uint32_t DMACCConfig;
<> 144:ef7eb2e8f9f7 746 } LPC_GPDMACH_TypeDef;
<> 144:ef7eb2e8f9f7 747
<> 144:ef7eb2e8f9f7 748 /*------------- Universal Serial Bus (USB) -----------------------------------*/
<> 144:ef7eb2e8f9f7 749 typedef struct
<> 144:ef7eb2e8f9f7 750 {
<> 144:ef7eb2e8f9f7 751 __I uint32_t HcRevision; /* USB Host Registers */
<> 144:ef7eb2e8f9f7 752 __IO uint32_t HcControl;
<> 144:ef7eb2e8f9f7 753 __IO uint32_t HcCommandStatus;
<> 144:ef7eb2e8f9f7 754 __IO uint32_t HcInterruptStatus;
<> 144:ef7eb2e8f9f7 755 __IO uint32_t HcInterruptEnable;
<> 144:ef7eb2e8f9f7 756 __IO uint32_t HcInterruptDisable;
<> 144:ef7eb2e8f9f7 757 __IO uint32_t HcHCCA;
<> 144:ef7eb2e8f9f7 758 __I uint32_t HcPeriodCurrentED;
<> 144:ef7eb2e8f9f7 759 __IO uint32_t HcControlHeadED;
<> 144:ef7eb2e8f9f7 760 __IO uint32_t HcControlCurrentED;
<> 144:ef7eb2e8f9f7 761 __IO uint32_t HcBulkHeadED;
<> 144:ef7eb2e8f9f7 762 __IO uint32_t HcBulkCurrentED;
<> 144:ef7eb2e8f9f7 763 __I uint32_t HcDoneHead;
<> 144:ef7eb2e8f9f7 764 __IO uint32_t HcFmInterval;
<> 144:ef7eb2e8f9f7 765 __I uint32_t HcFmRemaining;
<> 144:ef7eb2e8f9f7 766 __I uint32_t HcFmNumber;
<> 144:ef7eb2e8f9f7 767 __IO uint32_t HcPeriodicStart;
<> 144:ef7eb2e8f9f7 768 __IO uint32_t HcLSTreshold;
<> 144:ef7eb2e8f9f7 769 __IO uint32_t HcRhDescriptorA;
<> 144:ef7eb2e8f9f7 770 __IO uint32_t HcRhDescriptorB;
<> 144:ef7eb2e8f9f7 771 __IO uint32_t HcRhStatus;
<> 144:ef7eb2e8f9f7 772 __IO uint32_t HcRhPortStatus1;
<> 144:ef7eb2e8f9f7 773 __IO uint32_t HcRhPortStatus2;
<> 144:ef7eb2e8f9f7 774 uint32_t RESERVED0[40];
<> 144:ef7eb2e8f9f7 775 __I uint32_t Module_ID;
<> 144:ef7eb2e8f9f7 776
<> 144:ef7eb2e8f9f7 777 __I uint32_t OTGIntSt; /* USB On-The-Go Registers */
<> 144:ef7eb2e8f9f7 778 __IO uint32_t OTGIntEn;
<> 144:ef7eb2e8f9f7 779 __O uint32_t OTGIntSet;
<> 144:ef7eb2e8f9f7 780 __O uint32_t OTGIntClr;
<> 144:ef7eb2e8f9f7 781 __IO uint32_t OTGStCtrl;
<> 144:ef7eb2e8f9f7 782 __IO uint32_t OTGTmr;
<> 144:ef7eb2e8f9f7 783 uint32_t RESERVED1[58];
<> 144:ef7eb2e8f9f7 784
<> 144:ef7eb2e8f9f7 785 __I uint32_t USBDevIntSt; /* USB Device Interrupt Registers */
<> 144:ef7eb2e8f9f7 786 __IO uint32_t USBDevIntEn;
<> 144:ef7eb2e8f9f7 787 __O uint32_t USBDevIntClr;
<> 144:ef7eb2e8f9f7 788 __O uint32_t USBDevIntSet;
<> 144:ef7eb2e8f9f7 789
<> 144:ef7eb2e8f9f7 790 __O uint32_t USBCmdCode; /* USB Device SIE Command Registers */
<> 144:ef7eb2e8f9f7 791 __I uint32_t USBCmdData;
<> 144:ef7eb2e8f9f7 792
<> 144:ef7eb2e8f9f7 793 __I uint32_t USBRxData; /* USB Device Transfer Registers */
<> 144:ef7eb2e8f9f7 794 __O uint32_t USBTxData;
<> 144:ef7eb2e8f9f7 795 __I uint32_t USBRxPLen;
<> 144:ef7eb2e8f9f7 796 __O uint32_t USBTxPLen;
<> 144:ef7eb2e8f9f7 797 __IO uint32_t USBCtrl;
<> 144:ef7eb2e8f9f7 798 __O uint32_t USBDevIntPri;
<> 144:ef7eb2e8f9f7 799
<> 144:ef7eb2e8f9f7 800 __I uint32_t USBEpIntSt; /* USB Device Endpoint Interrupt Regs */
<> 144:ef7eb2e8f9f7 801 __IO uint32_t USBEpIntEn;
<> 144:ef7eb2e8f9f7 802 __O uint32_t USBEpIntClr;
<> 144:ef7eb2e8f9f7 803 __O uint32_t USBEpIntSet;
<> 144:ef7eb2e8f9f7 804 __O uint32_t USBEpIntPri;
<> 144:ef7eb2e8f9f7 805
<> 144:ef7eb2e8f9f7 806 __IO uint32_t USBReEp; /* USB Device Endpoint Realization Reg*/
<> 144:ef7eb2e8f9f7 807 __O uint32_t USBEpInd;
<> 144:ef7eb2e8f9f7 808 __IO uint32_t USBMaxPSize;
<> 144:ef7eb2e8f9f7 809
<> 144:ef7eb2e8f9f7 810 __I uint32_t USBDMARSt; /* USB Device DMA Registers */
<> 144:ef7eb2e8f9f7 811 __O uint32_t USBDMARClr;
<> 144:ef7eb2e8f9f7 812 __O uint32_t USBDMARSet;
<> 144:ef7eb2e8f9f7 813 uint32_t RESERVED2[9];
<> 144:ef7eb2e8f9f7 814 __IO uint32_t USBUDCAH;
<> 144:ef7eb2e8f9f7 815 __I uint32_t USBEpDMASt;
<> 144:ef7eb2e8f9f7 816 __O uint32_t USBEpDMAEn;
<> 144:ef7eb2e8f9f7 817 __O uint32_t USBEpDMADis;
<> 144:ef7eb2e8f9f7 818 __I uint32_t USBDMAIntSt;
<> 144:ef7eb2e8f9f7 819 __IO uint32_t USBDMAIntEn;
<> 144:ef7eb2e8f9f7 820 uint32_t RESERVED3[2];
<> 144:ef7eb2e8f9f7 821 __I uint32_t USBEoTIntSt;
<> 144:ef7eb2e8f9f7 822 __O uint32_t USBEoTIntClr;
<> 144:ef7eb2e8f9f7 823 __O uint32_t USBEoTIntSet;
<> 144:ef7eb2e8f9f7 824 __I uint32_t USBNDDRIntSt;
<> 144:ef7eb2e8f9f7 825 __O uint32_t USBNDDRIntClr;
<> 144:ef7eb2e8f9f7 826 __O uint32_t USBNDDRIntSet;
<> 144:ef7eb2e8f9f7 827 __I uint32_t USBSysErrIntSt;
<> 144:ef7eb2e8f9f7 828 __O uint32_t USBSysErrIntClr;
<> 144:ef7eb2e8f9f7 829 __O uint32_t USBSysErrIntSet;
<> 144:ef7eb2e8f9f7 830 uint32_t RESERVED4[15];
<> 144:ef7eb2e8f9f7 831
<> 144:ef7eb2e8f9f7 832 union {
<> 144:ef7eb2e8f9f7 833 __I uint32_t I2C_RX; /* USB OTG I2C Registers */
<> 144:ef7eb2e8f9f7 834 __O uint32_t I2C_TX;
<> 144:ef7eb2e8f9f7 835 };
<> 144:ef7eb2e8f9f7 836 __I uint32_t I2C_STS;
<> 144:ef7eb2e8f9f7 837 __IO uint32_t I2C_CTL;
<> 144:ef7eb2e8f9f7 838 __IO uint32_t I2C_CLKHI;
<> 144:ef7eb2e8f9f7 839 __O uint32_t I2C_CLKLO;
<> 144:ef7eb2e8f9f7 840 uint32_t RESERVED5[824];
<> 144:ef7eb2e8f9f7 841
<> 144:ef7eb2e8f9f7 842 union {
<> 144:ef7eb2e8f9f7 843 __IO uint32_t USBClkCtrl; /* USB Clock Control Registers */
<> 144:ef7eb2e8f9f7 844 __IO uint32_t OTGClkCtrl;
<> 144:ef7eb2e8f9f7 845 };
<> 144:ef7eb2e8f9f7 846 union {
<> 144:ef7eb2e8f9f7 847 __I uint32_t USBClkSt;
<> 144:ef7eb2e8f9f7 848 __I uint32_t OTGClkSt;
<> 144:ef7eb2e8f9f7 849 };
<> 144:ef7eb2e8f9f7 850 } LPC_USB_TypeDef;
<> 144:ef7eb2e8f9f7 851
<> 144:ef7eb2e8f9f7 852 /*------------- Ethernet Media Access Controller (EMAC) ----------------------*/
<> 144:ef7eb2e8f9f7 853 typedef struct
<> 144:ef7eb2e8f9f7 854 {
<> 144:ef7eb2e8f9f7 855 __IO uint32_t MAC1; /* MAC Registers */
<> 144:ef7eb2e8f9f7 856 __IO uint32_t MAC2;
<> 144:ef7eb2e8f9f7 857 __IO uint32_t IPGT;
<> 144:ef7eb2e8f9f7 858 __IO uint32_t IPGR;
<> 144:ef7eb2e8f9f7 859 __IO uint32_t CLRT;
<> 144:ef7eb2e8f9f7 860 __IO uint32_t MAXF;
<> 144:ef7eb2e8f9f7 861 __IO uint32_t SUPP;
<> 144:ef7eb2e8f9f7 862 __IO uint32_t TEST;
<> 144:ef7eb2e8f9f7 863 __IO uint32_t MCFG;
<> 144:ef7eb2e8f9f7 864 __IO uint32_t MCMD;
<> 144:ef7eb2e8f9f7 865 __IO uint32_t MADR;
<> 144:ef7eb2e8f9f7 866 __O uint32_t MWTD;
<> 144:ef7eb2e8f9f7 867 __I uint32_t MRDD;
<> 144:ef7eb2e8f9f7 868 __I uint32_t MIND;
<> 144:ef7eb2e8f9f7 869 uint32_t RESERVED0[2];
<> 144:ef7eb2e8f9f7 870 __IO uint32_t SA0;
<> 144:ef7eb2e8f9f7 871 __IO uint32_t SA1;
<> 144:ef7eb2e8f9f7 872 __IO uint32_t SA2;
<> 144:ef7eb2e8f9f7 873 uint32_t RESERVED1[45];
<> 144:ef7eb2e8f9f7 874 __IO uint32_t Command; /* Control Registers */
<> 144:ef7eb2e8f9f7 875 __I uint32_t Status;
<> 144:ef7eb2e8f9f7 876 __IO uint32_t RxDescriptor;
<> 144:ef7eb2e8f9f7 877 __IO uint32_t RxStatus;
<> 144:ef7eb2e8f9f7 878 __IO uint32_t RxDescriptorNumber;
<> 144:ef7eb2e8f9f7 879 __I uint32_t RxProduceIndex;
<> 144:ef7eb2e8f9f7 880 __IO uint32_t RxConsumeIndex;
<> 144:ef7eb2e8f9f7 881 __IO uint32_t TxDescriptor;
<> 144:ef7eb2e8f9f7 882 __IO uint32_t TxStatus;
<> 144:ef7eb2e8f9f7 883 __IO uint32_t TxDescriptorNumber;
<> 144:ef7eb2e8f9f7 884 __IO uint32_t TxProduceIndex;
<> 144:ef7eb2e8f9f7 885 __I uint32_t TxConsumeIndex;
<> 144:ef7eb2e8f9f7 886 uint32_t RESERVED2[10];
<> 144:ef7eb2e8f9f7 887 __I uint32_t TSV0;
<> 144:ef7eb2e8f9f7 888 __I uint32_t TSV1;
<> 144:ef7eb2e8f9f7 889 __I uint32_t RSV;
<> 144:ef7eb2e8f9f7 890 uint32_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 891 __IO uint32_t FlowControlCounter;
<> 144:ef7eb2e8f9f7 892 __I uint32_t FlowControlStatus;
<> 144:ef7eb2e8f9f7 893 uint32_t RESERVED4[34];
<> 144:ef7eb2e8f9f7 894 __IO uint32_t RxFilterCtrl; /* Rx Filter Registers */
<> 144:ef7eb2e8f9f7 895 __IO uint32_t RxFilterWoLStatus;
<> 144:ef7eb2e8f9f7 896 __IO uint32_t RxFilterWoLClear;
<> 144:ef7eb2e8f9f7 897 uint32_t RESERVED5;
<> 144:ef7eb2e8f9f7 898 __IO uint32_t HashFilterL;
<> 144:ef7eb2e8f9f7 899 __IO uint32_t HashFilterH;
<> 144:ef7eb2e8f9f7 900 uint32_t RESERVED6[882];
<> 144:ef7eb2e8f9f7 901 __I uint32_t IntStatus; /* Module Control Registers */
<> 144:ef7eb2e8f9f7 902 __IO uint32_t IntEnable;
<> 144:ef7eb2e8f9f7 903 __O uint32_t IntClear;
<> 144:ef7eb2e8f9f7 904 __O uint32_t IntSet;
<> 144:ef7eb2e8f9f7 905 uint32_t RESERVED7;
<> 144:ef7eb2e8f9f7 906 __IO uint32_t PowerDown;
<> 144:ef7eb2e8f9f7 907 uint32_t RESERVED8;
<> 144:ef7eb2e8f9f7 908 __IO uint32_t Module_ID;
<> 144:ef7eb2e8f9f7 909 } LPC_EMAC_TypeDef;
<> 144:ef7eb2e8f9f7 910
<> 144:ef7eb2e8f9f7 911 #if defined ( __CC_ARM )
<> 144:ef7eb2e8f9f7 912 #pragma no_anon_unions
<> 144:ef7eb2e8f9f7 913 #endif
<> 144:ef7eb2e8f9f7 914
<> 144:ef7eb2e8f9f7 915
<> 144:ef7eb2e8f9f7 916 /******************************************************************************/
<> 144:ef7eb2e8f9f7 917 /* Peripheral memory map */
<> 144:ef7eb2e8f9f7 918 /******************************************************************************/
<> 144:ef7eb2e8f9f7 919 /* Base addresses */
<> 144:ef7eb2e8f9f7 920 #define LPC_FLASH_BASE (0x00000000UL)
<> 144:ef7eb2e8f9f7 921 #define LPC_RAM_BASE (0x10000000UL)
<> 144:ef7eb2e8f9f7 922 #define LPC_GPIO_BASE (0x2009C000UL)
<> 144:ef7eb2e8f9f7 923 #define LPC_APB0_BASE (0x40000000UL)
<> 144:ef7eb2e8f9f7 924 #define LPC_APB1_BASE (0x40080000UL)
<> 144:ef7eb2e8f9f7 925 #define LPC_AHB_BASE (0x50000000UL)
<> 144:ef7eb2e8f9f7 926 #define LPC_CM3_BASE (0xE0000000UL)
<> 144:ef7eb2e8f9f7 927
<> 144:ef7eb2e8f9f7 928 /* APB0 peripherals */
<> 144:ef7eb2e8f9f7 929 #define LPC_WDT_BASE (LPC_APB0_BASE + 0x00000)
<> 144:ef7eb2e8f9f7 930 #define LPC_TIM0_BASE (LPC_APB0_BASE + 0x04000)
<> 144:ef7eb2e8f9f7 931 #define LPC_TIM1_BASE (LPC_APB0_BASE + 0x08000)
<> 144:ef7eb2e8f9f7 932 #define LPC_UART0_BASE (LPC_APB0_BASE + 0x0C000)
<> 144:ef7eb2e8f9f7 933 #define LPC_UART1_BASE (LPC_APB0_BASE + 0x10000)
<> 144:ef7eb2e8f9f7 934 #define LPC_PWM1_BASE (LPC_APB0_BASE + 0x18000)
<> 144:ef7eb2e8f9f7 935 #define LPC_I2C0_BASE (LPC_APB0_BASE + 0x1C000)
<> 144:ef7eb2e8f9f7 936 #define LPC_SPI_BASE (LPC_APB0_BASE + 0x20000)
<> 144:ef7eb2e8f9f7 937 #define LPC_RTC_BASE (LPC_APB0_BASE + 0x24000)
<> 144:ef7eb2e8f9f7 938 #define LPC_GPIOINT_BASE (LPC_APB0_BASE + 0x28080)
<> 144:ef7eb2e8f9f7 939 #define LPC_PINCON_BASE (LPC_APB0_BASE + 0x2C000)
<> 144:ef7eb2e8f9f7 940 #define LPC_SSP1_BASE (LPC_APB0_BASE + 0x30000)
<> 144:ef7eb2e8f9f7 941 #define LPC_ADC_BASE (LPC_APB0_BASE + 0x34000)
<> 144:ef7eb2e8f9f7 942 #define LPC_CANAF_RAM_BASE (LPC_APB0_BASE + 0x38000)
<> 144:ef7eb2e8f9f7 943 #define LPC_CANAF_BASE (LPC_APB0_BASE + 0x3C000)
<> 144:ef7eb2e8f9f7 944 #define LPC_CANCR_BASE (LPC_APB0_BASE + 0x40000)
<> 144:ef7eb2e8f9f7 945 #define LPC_CAN1_BASE (LPC_APB0_BASE + 0x44000)
<> 144:ef7eb2e8f9f7 946 #define LPC_CAN2_BASE (LPC_APB0_BASE + 0x48000)
<> 144:ef7eb2e8f9f7 947 #define LPC_I2C1_BASE (LPC_APB0_BASE + 0x5C000)
<> 144:ef7eb2e8f9f7 948
<> 144:ef7eb2e8f9f7 949 /* APB1 peripherals */
<> 144:ef7eb2e8f9f7 950 #define LPC_SSP0_BASE (LPC_APB1_BASE + 0x08000)
<> 144:ef7eb2e8f9f7 951 #define LPC_DAC_BASE (LPC_APB1_BASE + 0x0C000)
<> 144:ef7eb2e8f9f7 952 #define LPC_TIM2_BASE (LPC_APB1_BASE + 0x10000)
<> 144:ef7eb2e8f9f7 953 #define LPC_TIM3_BASE (LPC_APB1_BASE + 0x14000)
<> 144:ef7eb2e8f9f7 954 #define LPC_UART2_BASE (LPC_APB1_BASE + 0x18000)
<> 144:ef7eb2e8f9f7 955 #define LPC_UART3_BASE (LPC_APB1_BASE + 0x1C000)
<> 144:ef7eb2e8f9f7 956 #define LPC_I2C2_BASE (LPC_APB1_BASE + 0x20000)
<> 144:ef7eb2e8f9f7 957 #define LPC_I2S_BASE (LPC_APB1_BASE + 0x28000)
<> 144:ef7eb2e8f9f7 958 #define LPC_RIT_BASE (LPC_APB1_BASE + 0x30000)
<> 144:ef7eb2e8f9f7 959 #define LPC_MCPWM_BASE (LPC_APB1_BASE + 0x38000)
<> 144:ef7eb2e8f9f7 960 #define LPC_QEI_BASE (LPC_APB1_BASE + 0x3C000)
<> 144:ef7eb2e8f9f7 961 #define LPC_SC_BASE (LPC_APB1_BASE + 0x7C000)
<> 144:ef7eb2e8f9f7 962
<> 144:ef7eb2e8f9f7 963 /* AHB peripherals */
<> 144:ef7eb2e8f9f7 964 #define LPC_EMAC_BASE (LPC_AHB_BASE + 0x00000)
<> 144:ef7eb2e8f9f7 965 #define LPC_GPDMA_BASE (LPC_AHB_BASE + 0x04000)
<> 144:ef7eb2e8f9f7 966 #define LPC_GPDMACH0_BASE (LPC_AHB_BASE + 0x04100)
<> 144:ef7eb2e8f9f7 967 #define LPC_GPDMACH1_BASE (LPC_AHB_BASE + 0x04120)
<> 144:ef7eb2e8f9f7 968 #define LPC_GPDMACH2_BASE (LPC_AHB_BASE + 0x04140)
<> 144:ef7eb2e8f9f7 969 #define LPC_GPDMACH3_BASE (LPC_AHB_BASE + 0x04160)
<> 144:ef7eb2e8f9f7 970 #define LPC_GPDMACH4_BASE (LPC_AHB_BASE + 0x04180)
<> 144:ef7eb2e8f9f7 971 #define LPC_GPDMACH5_BASE (LPC_AHB_BASE + 0x041A0)
<> 144:ef7eb2e8f9f7 972 #define LPC_GPDMACH6_BASE (LPC_AHB_BASE + 0x041C0)
<> 144:ef7eb2e8f9f7 973 #define LPC_GPDMACH7_BASE (LPC_AHB_BASE + 0x041E0)
<> 144:ef7eb2e8f9f7 974 #define LPC_USB_BASE (LPC_AHB_BASE + 0x0C000)
<> 144:ef7eb2e8f9f7 975
<> 144:ef7eb2e8f9f7 976 /* GPIOs */
<> 144:ef7eb2e8f9f7 977 #define LPC_GPIO0_BASE (LPC_GPIO_BASE + 0x00000)
<> 144:ef7eb2e8f9f7 978 #define LPC_GPIO1_BASE (LPC_GPIO_BASE + 0x00020)
<> 144:ef7eb2e8f9f7 979 #define LPC_GPIO2_BASE (LPC_GPIO_BASE + 0x00040)
<> 144:ef7eb2e8f9f7 980 #define LPC_GPIO3_BASE (LPC_GPIO_BASE + 0x00060)
<> 144:ef7eb2e8f9f7 981 #define LPC_GPIO4_BASE (LPC_GPIO_BASE + 0x00080)
<> 144:ef7eb2e8f9f7 982
<> 144:ef7eb2e8f9f7 983
<> 144:ef7eb2e8f9f7 984 /******************************************************************************/
<> 144:ef7eb2e8f9f7 985 /* Peripheral declaration */
<> 144:ef7eb2e8f9f7 986 /******************************************************************************/
<> 144:ef7eb2e8f9f7 987 #define LPC_SC ((LPC_SC_TypeDef *) LPC_SC_BASE )
<> 144:ef7eb2e8f9f7 988 #define LPC_GPIO0 ((LPC_GPIO_TypeDef *) LPC_GPIO0_BASE )
<> 144:ef7eb2e8f9f7 989 #define LPC_GPIO1 ((LPC_GPIO_TypeDef *) LPC_GPIO1_BASE )
<> 144:ef7eb2e8f9f7 990 #define LPC_GPIO2 ((LPC_GPIO_TypeDef *) LPC_GPIO2_BASE )
<> 144:ef7eb2e8f9f7 991 #define LPC_GPIO3 ((LPC_GPIO_TypeDef *) LPC_GPIO3_BASE )
<> 144:ef7eb2e8f9f7 992 #define LPC_GPIO4 ((LPC_GPIO_TypeDef *) LPC_GPIO4_BASE )
<> 144:ef7eb2e8f9f7 993 #define LPC_WDT ((LPC_WDT_TypeDef *) LPC_WDT_BASE )
<> 144:ef7eb2e8f9f7 994 #define LPC_TIM0 ((LPC_TIM_TypeDef *) LPC_TIM0_BASE )
<> 144:ef7eb2e8f9f7 995 #define LPC_TIM1 ((LPC_TIM_TypeDef *) LPC_TIM1_BASE )
<> 144:ef7eb2e8f9f7 996 #define LPC_TIM2 ((LPC_TIM_TypeDef *) LPC_TIM2_BASE )
<> 144:ef7eb2e8f9f7 997 #define LPC_TIM3 ((LPC_TIM_TypeDef *) LPC_TIM3_BASE )
<> 144:ef7eb2e8f9f7 998 #define LPC_RIT ((LPC_RIT_TypeDef *) LPC_RIT_BASE )
<> 144:ef7eb2e8f9f7 999 #define LPC_UART0 ((LPC_UART0_TypeDef *) LPC_UART0_BASE )
<> 144:ef7eb2e8f9f7 1000 #define LPC_UART1 ((LPC_UART1_TypeDef *) LPC_UART1_BASE )
<> 144:ef7eb2e8f9f7 1001 #define LPC_UART2 ((LPC_UART_TypeDef *) LPC_UART2_BASE )
<> 144:ef7eb2e8f9f7 1002 #define LPC_UART3 ((LPC_UART_TypeDef *) LPC_UART3_BASE )
<> 144:ef7eb2e8f9f7 1003 #define LPC_PWM1 ((LPC_PWM_TypeDef *) LPC_PWM1_BASE )
<> 144:ef7eb2e8f9f7 1004 #define LPC_I2C0 ((LPC_I2C_TypeDef *) LPC_I2C0_BASE )
<> 144:ef7eb2e8f9f7 1005 #define LPC_I2C1 ((LPC_I2C_TypeDef *) LPC_I2C1_BASE )
<> 144:ef7eb2e8f9f7 1006 #define LPC_I2C2 ((LPC_I2C_TypeDef *) LPC_I2C2_BASE )
<> 144:ef7eb2e8f9f7 1007 #define LPC_I2S ((LPC_I2S_TypeDef *) LPC_I2S_BASE )
<> 144:ef7eb2e8f9f7 1008 #define LPC_SPI ((LPC_SPI_TypeDef *) LPC_SPI_BASE )
<> 144:ef7eb2e8f9f7 1009 #define LPC_RTC ((LPC_RTC_TypeDef *) LPC_RTC_BASE )
<> 144:ef7eb2e8f9f7 1010 #define LPC_GPIOINT ((LPC_GPIOINT_TypeDef *) LPC_GPIOINT_BASE )
<> 144:ef7eb2e8f9f7 1011 #define LPC_PINCON ((LPC_PINCON_TypeDef *) LPC_PINCON_BASE )
<> 144:ef7eb2e8f9f7 1012 #define LPC_SSP0 ((LPC_SSP_TypeDef *) LPC_SSP0_BASE )
<> 144:ef7eb2e8f9f7 1013 #define LPC_SSP1 ((LPC_SSP_TypeDef *) LPC_SSP1_BASE )
<> 144:ef7eb2e8f9f7 1014 #define LPC_ADC ((LPC_ADC_TypeDef *) LPC_ADC_BASE )
<> 144:ef7eb2e8f9f7 1015 #define LPC_DAC ((LPC_DAC_TypeDef *) LPC_DAC_BASE )
<> 144:ef7eb2e8f9f7 1016 #define LPC_CANAF_RAM ((LPC_CANAF_RAM_TypeDef *) LPC_CANAF_RAM_BASE)
<> 144:ef7eb2e8f9f7 1017 #define LPC_CANAF ((LPC_CANAF_TypeDef *) LPC_CANAF_BASE )
<> 144:ef7eb2e8f9f7 1018 #define LPC_CANCR ((LPC_CANCR_TypeDef *) LPC_CANCR_BASE )
<> 144:ef7eb2e8f9f7 1019 #define LPC_CAN1 ((LPC_CAN_TypeDef *) LPC_CAN1_BASE )
<> 144:ef7eb2e8f9f7 1020 #define LPC_CAN2 ((LPC_CAN_TypeDef *) LPC_CAN2_BASE )
<> 144:ef7eb2e8f9f7 1021 #define LPC_MCPWM ((LPC_MCPWM_TypeDef *) LPC_MCPWM_BASE )
<> 144:ef7eb2e8f9f7 1022 #define LPC_QEI ((LPC_QEI_TypeDef *) LPC_QEI_BASE )
<> 144:ef7eb2e8f9f7 1023 #define LPC_EMAC ((LPC_EMAC_TypeDef *) LPC_EMAC_BASE )
<> 144:ef7eb2e8f9f7 1024 #define LPC_GPDMA ((LPC_GPDMA_TypeDef *) LPC_GPDMA_BASE )
<> 144:ef7eb2e8f9f7 1025 #define LPC_GPDMACH0 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH0_BASE )
<> 144:ef7eb2e8f9f7 1026 #define LPC_GPDMACH1 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH1_BASE )
<> 144:ef7eb2e8f9f7 1027 #define LPC_GPDMACH2 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH2_BASE )
<> 144:ef7eb2e8f9f7 1028 #define LPC_GPDMACH3 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH3_BASE )
<> 144:ef7eb2e8f9f7 1029 #define LPC_GPDMACH4 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH4_BASE )
<> 144:ef7eb2e8f9f7 1030 #define LPC_GPDMACH5 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH5_BASE )
<> 144:ef7eb2e8f9f7 1031 #define LPC_GPDMACH6 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH6_BASE )
<> 144:ef7eb2e8f9f7 1032 #define LPC_GPDMACH7 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH7_BASE )
<> 144:ef7eb2e8f9f7 1033 #define LPC_USB ((LPC_USB_TypeDef *) LPC_USB_BASE )
<> 144:ef7eb2e8f9f7 1034
<> 144:ef7eb2e8f9f7 1035 #endif // __LPC17xx_H__