1038 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			1038 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/**************************************************************************//**
							 | 
						||
| 
								 | 
							
								 * @file     LPC17xx.h
							 | 
						||
| 
								 | 
							
								 * @brief    CMSIS Cortex-M3 Core Peripheral Access Layer Header File for 
							 | 
						||
| 
								 | 
							
								 *           NXP LPC17xx Device Series
							 | 
						||
| 
								 | 
							
								 * @version: V1.09
							 | 
						||
| 
								 | 
							
								 * @date:    17. March 2010
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @note
							 | 
						||
| 
								 | 
							
								 * Copyright (C) 2009 ARM Limited. All rights reserved.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @par
							 | 
						||
| 
								 | 
							
								 * ARM Limited (ARM) is supplying this software for use with Cortex-M 
							 | 
						||
| 
								 | 
							
								 * processor based microcontrollers.  This file can be freely distributed 
							 | 
						||
| 
								 | 
							
								 * within development tools that are supporting such ARM based processors. 
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @par
							 | 
						||
| 
								 | 
							
								 * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
							 | 
						||
| 
								 | 
							
								 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
							 | 
						||
| 
								 | 
							
								 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
							 | 
						||
| 
								 | 
							
								 * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
							 | 
						||
| 
								 | 
							
								 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 ******************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __LPC17xx_H__
							 | 
						||
| 
								 | 
							
								#define __LPC17xx_H__
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * ==========================================================================
							 | 
						||
| 
								 | 
							
								 * ---------- Interrupt Number Definition -----------------------------------
							 | 
						||
| 
								 | 
							
								 * ==========================================================================
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef enum IRQn
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								/******  Cortex-M3 Processor Exceptions Numbers ***************************************************/
							 | 
						||
| 
								 | 
							
								  NonMaskableInt_IRQn           = -14,      /*!< 2 Non Maskable Interrupt                         */
							 | 
						||
| 
								 | 
							
								  MemoryManagement_IRQn         = -12,      /*!< 4 Cortex-M3 Memory Management Interrupt          */
							 | 
						||
| 
								 | 
							
								  BusFault_IRQn                 = -11,      /*!< 5 Cortex-M3 Bus Fault Interrupt                  */
							 | 
						||
| 
								 | 
							
								  UsageFault_IRQn               = -10,      /*!< 6 Cortex-M3 Usage Fault Interrupt                */
							 | 
						||
| 
								 | 
							
								  SVCall_IRQn                   = -5,       /*!< 11 Cortex-M3 SV Call Interrupt                   */
							 | 
						||
| 
								 | 
							
								  DebugMonitor_IRQn             = -4,       /*!< 12 Cortex-M3 Debug Monitor Interrupt             */
							 | 
						||
| 
								 | 
							
								  PendSV_IRQn                   = -2,       /*!< 14 Cortex-M3 Pend SV Interrupt                   */
							 | 
						||
| 
								 | 
							
								  SysTick_IRQn                  = -1,       /*!< 15 Cortex-M3 System Tick Interrupt               */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/******  LPC17xx Specific Interrupt Numbers *******************************************************/
							 | 
						||
| 
								 | 
							
								  WDT_IRQn                      = 0,        /*!< Watchdog Timer Interrupt                         */
							 | 
						||
| 
								 | 
							
								  TIMER0_IRQn                   = 1,        /*!< Timer0 Interrupt                                 */
							 | 
						||
| 
								 | 
							
								  TIMER1_IRQn                   = 2,        /*!< Timer1 Interrupt                                 */
							 | 
						||
| 
								 | 
							
								  TIMER2_IRQn                   = 3,        /*!< Timer2 Interrupt                                 */
							 | 
						||
| 
								 | 
							
								  TIMER3_IRQn                   = 4,        /*!< Timer3 Interrupt                                 */
							 | 
						||
| 
								 | 
							
								  UART0_IRQn                    = 5,        /*!< UART0 Interrupt                                  */
							 | 
						||
| 
								 | 
							
								  UART1_IRQn                    = 6,        /*!< UART1 Interrupt                                  */
							 | 
						||
| 
								 | 
							
								  UART2_IRQn                    = 7,        /*!< UART2 Interrupt                                  */
							 | 
						||
| 
								 | 
							
								  UART3_IRQn                    = 8,        /*!< UART3 Interrupt                                  */
							 | 
						||
| 
								 | 
							
								  PWM1_IRQn                     = 9,        /*!< PWM1 Interrupt                                   */
							 | 
						||
| 
								 | 
							
								  I2C0_IRQn                     = 10,       /*!< I2C0 Interrupt                                   */
							 | 
						||
| 
								 | 
							
								  I2C1_IRQn                     = 11,       /*!< I2C1 Interrupt                                   */
							 | 
						||
| 
								 | 
							
								  I2C2_IRQn                     = 12,       /*!< I2C2 Interrupt                                   */
							 | 
						||
| 
								 | 
							
								  SPI_IRQn                      = 13,       /*!< SPI Interrupt                                    */
							 | 
						||
| 
								 | 
							
								  SSP0_IRQn                     = 14,       /*!< SSP0 Interrupt                                   */
							 | 
						||
| 
								 | 
							
								  SSP1_IRQn                     = 15,       /*!< SSP1 Interrupt                                   */
							 | 
						||
| 
								 | 
							
								  PLL0_IRQn                     = 16,       /*!< PLL0 Lock (Main PLL) Interrupt                   */
							 | 
						||
| 
								 | 
							
								  RTC_IRQn                      = 17,       /*!< Real Time Clock Interrupt                        */
							 | 
						||
| 
								 | 
							
								  EINT0_IRQn                    = 18,       /*!< External Interrupt 0 Interrupt                   */
							 | 
						||
| 
								 | 
							
								  EINT1_IRQn                    = 19,       /*!< External Interrupt 1 Interrupt                   */
							 | 
						||
| 
								 | 
							
								  EINT2_IRQn                    = 20,       /*!< External Interrupt 2 Interrupt                   */
							 | 
						||
| 
								 | 
							
								  EINT3_IRQn                    = 21,       /*!< External Interrupt 3 Interrupt                   */
							 | 
						||
| 
								 | 
							
								  ADC_IRQn                      = 22,       /*!< A/D Converter Interrupt                          */
							 | 
						||
| 
								 | 
							
								  BOD_IRQn                      = 23,       /*!< Brown-Out Detect Interrupt                       */
							 | 
						||
| 
								 | 
							
								  USB_IRQn                      = 24,       /*!< USB Interrupt                                    */
							 | 
						||
| 
								 | 
							
								  CAN_IRQn                      = 25,       /*!< CAN Interrupt                                    */
							 | 
						||
| 
								 | 
							
								  DMA_IRQn                      = 26,       /*!< General Purpose DMA Interrupt                    */
							 | 
						||
| 
								 | 
							
								  I2S_IRQn                      = 27,       /*!< I2S Interrupt                                    */
							 | 
						||
| 
								 | 
							
								  ENET_IRQn                     = 28,       /*!< Ethernet Interrupt                               */
							 | 
						||
| 
								 | 
							
								  RIT_IRQn                      = 29,       /*!< Repetitive Interrupt Timer Interrupt             */
							 | 
						||
| 
								 | 
							
								  MCPWM_IRQn                    = 30,       /*!< Motor Control PWM Interrupt                      */
							 | 
						||
| 
								 | 
							
								  QEI_IRQn                      = 31,       /*!< Quadrature Encoder Interface Interrupt           */
							 | 
						||
| 
								 | 
							
								  PLL1_IRQn                     = 32,       /*!< PLL1 Lock (USB PLL) Interrupt                    */
							 | 
						||
| 
								 | 
							
								  USBActivity_IRQn              = 33,       /* USB Activity interrupt                             */
							 | 
						||
| 
								 | 
							
								  CANActivity_IRQn              = 34,       /* CAN Activity interrupt                             */
							 | 
						||
| 
								 | 
							
								} IRQn_Type;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * ==========================================================================
							 | 
						||
| 
								 | 
							
								 * ----------- Processor and Core Peripheral Section ------------------------
							 | 
						||
| 
								 | 
							
								 * ==========================================================================
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Configuration of the Cortex-M3 Processor and Core Peripherals */
							 | 
						||
| 
								 | 
							
								#define __MPU_PRESENT             1         /*!< MPU present or not                               */
							 | 
						||
| 
								 | 
							
								#define __NVIC_PRIO_BITS          5         /*!< Number of Bits used for Priority Levels          */
							 | 
						||
| 
								 | 
							
								#define __Vendor_SysTickConfig    0         /*!< Set to 1 if different SysTick Config is used     */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "core_cm3.h"                       /* Cortex-M3 processor and core peripherals           */
							 | 
						||
| 
								 | 
							
								#include "system_LPC17xx.h"                 /* System Header                                      */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/******************************************************************************/
							 | 
						||
| 
								 | 
							
								/*                Device Specific Peripheral registers structures             */
							 | 
						||
| 
								 | 
							
								/******************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if defined ( __CC_ARM   )
							 | 
						||
| 
								 | 
							
								#pragma anon_unions
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- System Control (SC) ------------------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FLASHCFG;               /* Flash Accelerator Module           */
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0[31];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PLL0CON;                /* Clocking and Power Control         */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PLL0CFG;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t PLL0STAT;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t PLL0FEED;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED1[4];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PLL1CON;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PLL1CFG;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t PLL1STAT;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t PLL1FEED;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED2[4];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PCON;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PCONP;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED3[15];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CCLKCFG;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBCLKCFG;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CLKSRCSEL;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t	CANSLEEPCLR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t	CANWAKEFLAGS;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED4[10];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t EXTINT;                 /* External Interrupts                */
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED5;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t EXTMODE;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t EXTPOLAR;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED6[12];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RSID;                   /* Reset                              */
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED7[7];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SCS;                    /* Syscon Miscellaneous Registers     */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IRCTRIM;                /* Clock Dividers                     */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PCLKSEL0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PCLKSEL1;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED8[4];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBIntSt;               /* USB Device/OTG Interrupt Register  */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMAREQSEL;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CLKOUTCFG;              /* Clock Output Configuration         */
							 | 
						||
| 
								 | 
							
								 } LPC_SC_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Pin Connect Block (PINCON) -----------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL4;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL5;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL6;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL7;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL8;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL9;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINSEL10;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0[5];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE4;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE5;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE6;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE7;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE8;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE9;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE_OD0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE_OD1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE_OD2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE_OD3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PINMODE_OD4;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2CPADCFG;
							 | 
						||
| 
								 | 
							
								} LPC_PINCON_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- General Purpose Input/Output (GPIO) --------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								    __IO uint32_t FIODIR;
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __IO uint16_t FIODIRL;
							 | 
						||
| 
								 | 
							
								      __IO uint16_t FIODIRH;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIODIR0;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIODIR1;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIODIR2;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIODIR3;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  uint32_t RESERVED0[3];
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								    __IO uint32_t FIOMASK;
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __IO uint16_t FIOMASKL;
							 | 
						||
| 
								 | 
							
								      __IO uint16_t FIOMASKH;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOMASK0;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOMASK1;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOMASK2;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOMASK3;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								    __IO uint32_t FIOPIN;
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __IO uint16_t FIOPINL;
							 | 
						||
| 
								 | 
							
								      __IO uint16_t FIOPINH;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOPIN0;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOPIN1;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOPIN2;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOPIN3;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								    __IO uint32_t FIOSET;
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __IO uint16_t FIOSETL;
							 | 
						||
| 
								 | 
							
								      __IO uint16_t FIOSETH;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOSET0;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOSET1;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOSET2;
							 | 
						||
| 
								 | 
							
								      __IO uint8_t  FIOSET3;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								    __O  uint32_t FIOCLR;
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __O  uint16_t FIOCLRL;
							 | 
						||
| 
								 | 
							
								      __O  uint16_t FIOCLRH;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    struct {
							 | 
						||
| 
								 | 
							
								      __O  uint8_t  FIOCLR0;
							 | 
						||
| 
								 | 
							
								      __O  uint8_t  FIOCLR1;
							 | 
						||
| 
								 | 
							
								      __O  uint8_t  FIOCLR2;
							 | 
						||
| 
								 | 
							
								      __O  uint8_t  FIOCLR3;
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								} LPC_GPIO_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IntStatus;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IO0IntStatR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IO0IntStatF;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t IO0IntClr;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IO0IntEnR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IO0IntEnF;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0[3];
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IO2IntStatR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IO2IntStatF;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t IO2IntClr;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IO2IntEnR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IO2IntEnF;
							 | 
						||
| 
								 | 
							
								} LPC_GPIOINT_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Timer (TIM) --------------------------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TCR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TC;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PC;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CCR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CR0;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CR1;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0[2];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t EMR;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED1[12];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CTCR;
							 | 
						||
| 
								 | 
							
								} LPC_TIM_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Pulse-Width Modulation (PWM) ---------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TCR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TC;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PC;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CCR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CR0;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CR1;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CR2;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CR3;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR4;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR5;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MR6;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PCR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t LER;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED1[7];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CTCR;
							 | 
						||
| 
								 | 
							
								} LPC_PWM_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __I  uint8_t  RBR;
							 | 
						||
| 
								 | 
							
								  __O  uint8_t  THR;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  DLL;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  DLM;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IER;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IIR;
							 | 
						||
| 
								 | 
							
								  __O  uint8_t  FCR;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  LCR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED1[7];
							 | 
						||
| 
								 | 
							
								  __I  uint8_t  LSR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED2[7];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  SCR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED3[3];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ACR;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ICR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED4[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  FDR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED5[7];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  TER;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED6[39];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FIFOLVL;
							 | 
						||
| 
								 | 
							
								} LPC_UART_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __I  uint8_t  RBR;
							 | 
						||
| 
								 | 
							
								  __O  uint8_t  THR;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  DLL;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  DLM;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IER;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IIR;
							 | 
						||
| 
								 | 
							
								  __O  uint8_t  FCR;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  LCR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED1[7];
							 | 
						||
| 
								 | 
							
								  __I  uint8_t  LSR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED2[7];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  SCR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED3[3];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ACR;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ICR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED4[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  FDR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED5[7];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  TER;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED6[39];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FIFOLVL;
							 | 
						||
| 
								 | 
							
								} LPC_UART0_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __I  uint8_t  RBR;
							 | 
						||
| 
								 | 
							
								  __O  uint8_t  THR;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  DLL;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  DLM;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IER;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IIR;
							 | 
						||
| 
								 | 
							
								  __O  uint8_t  FCR;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  LCR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED1[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  MCR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED2[3];
							 | 
						||
| 
								 | 
							
								  __I  uint8_t  LSR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED3[3];
							 | 
						||
| 
								 | 
							
								  __I  uint8_t  MSR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED4[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  SCR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED5[3];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ACR;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED6;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FDR;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED7;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  TER;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED8[27];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  RS485CTRL;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED9[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ADRMATCH;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED10[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  RS485DLY;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED11[3];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FIFOLVL;
							 | 
						||
| 
								 | 
							
								} LPC_UART1_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Serial Peripheral Interface (SPI) ----------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SPCR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t SPSR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SPDR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SPCCR;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0[3];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SPINT;
							 | 
						||
| 
								 | 
							
								} LPC_SPI_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Synchronous Serial Communication (SSP) -----------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CR0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CR1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t SR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CPSR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IMSC;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RIS;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MIS;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ICR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACR;
							 | 
						||
| 
								 | 
							
								} LPC_SSP_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Inter-Integrated Circuit (I2C) -------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2CONSET;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t I2STAT;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2DAT;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2ADR0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SCLH;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SCLL;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t I2CONCLR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MMCTRL;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2ADR1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2ADR2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2ADR3;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t I2DATA_BUFFER;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2MASK0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2MASK1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2MASK2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2MASK3;
							 | 
						||
| 
								 | 
							
								} LPC_I2C_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Inter IC Sound (I2S) -----------------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SDAO;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SDAI;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t I2STXFIFO;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t I2SRXFIFO;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t I2SSTATE;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SDMA1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SDMA2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SIRQ;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2STXRATE;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SRXRATE;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2STXBITRATE;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SRXBITRATE;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2STXMODE;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2SRXMODE;
							 | 
						||
| 
								 | 
							
								} LPC_I2S_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Repetitive Interrupt Timer (RIT) -----------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RICOMPVAL;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RIMASK;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  RICTRL;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED0[3];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RICOUNTER;
							 | 
						||
| 
								 | 
							
								} LPC_RIT_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Real-Time Clock (RTC) ----------------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ILR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED0[7];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  CCR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED1[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  CIIR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED2[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  AMR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED3[3];
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CTIME0;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CTIME1;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CTIME2;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  SEC;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED4[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  MIN;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED5[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  HOUR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED6[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  DOM;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED7[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  DOW;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED8[3];
							 | 
						||
| 
								 | 
							
								  __IO uint16_t DOY;
							 | 
						||
| 
								 | 
							
								       uint16_t RESERVED9;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  MONTH;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED10[3];
							 | 
						||
| 
								 | 
							
								  __IO uint16_t YEAR;
							 | 
						||
| 
								 | 
							
								       uint16_t RESERVED11;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CALIBRATION;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t GPREG0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t GPREG1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t GPREG2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t GPREG3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t GPREG4;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  RTC_AUXEN;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED12[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  RTC_AUX;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED13[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ALSEC;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED14[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ALMIN;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED15[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ALHOUR;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED16[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ALDOM;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED17[3];
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ALDOW;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED18[3];
							 | 
						||
| 
								 | 
							
								  __IO uint16_t ALDOY;
							 | 
						||
| 
								 | 
							
								       uint16_t RESERVED19;
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  ALMON;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED20[3];
							 | 
						||
| 
								 | 
							
								  __IO uint16_t ALYEAR;
							 | 
						||
| 
								 | 
							
								       uint16_t RESERVED21;
							 | 
						||
| 
								 | 
							
								} LPC_RTC_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Watchdog Timer (WDT) -----------------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint8_t  WDMOD;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED0[3];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t WDTC;
							 | 
						||
| 
								 | 
							
								  __O  uint8_t  WDFEED;
							 | 
						||
| 
								 | 
							
								       uint8_t  RESERVED1[3];
							 | 
						||
| 
								 | 
							
								  __I  uint32_t WDTV;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t WDCLKSEL;
							 | 
						||
| 
								 | 
							
								} LPC_WDT_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Analog-to-Digital Converter (ADC) ----------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ADCR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ADGDR;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ADINTEN;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADDR0;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADDR1;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADDR2;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADDR3;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADDR4;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADDR5;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADDR6;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADDR7;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ADSTAT;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ADTRM;
							 | 
						||
| 
								 | 
							
								} LPC_ADC_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Digital-to-Analog Converter (DAC) ----------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DACR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DACCTRL;
							 | 
						||
| 
								 | 
							
								  __IO uint16_t DACCNTVAL;
							 | 
						||
| 
								 | 
							
								} LPC_DAC_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Motor Control Pulse-Width Modulation (MCPWM) -----------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __I  uint32_t MCCON;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCCON_SET;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCCON_CLR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t MCCAPCON;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCCAPCON_SET;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCCAPCON_CLR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCTIM0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCTIM1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCTIM2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCPER0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCPER1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCPER2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCPW0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCPW1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCPW2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCDEADTIME;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCCCP;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCCR0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCCR1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCCR2;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t MCINTEN;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCINTEN_SET;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCINTEN_CLR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t MCCNTCON;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCCNTCON_SET;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCCNTCON_CLR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t MCINTFLAG;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCINTFLAG_SET;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCINTFLAG_CLR;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MCCAP_CLR;
							 | 
						||
| 
								 | 
							
								} LPC_MCPWM_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Quadrature Encoder Interface (QEI) ---------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __O  uint32_t QEICON;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t QEISTAT;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t QEICONF;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t QEIPOS;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t QEIMAXPOS;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CMPOS0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CMPOS1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CMPOS2;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t INXCNT;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t INXCMP;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t QEILOAD;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t QEITIME;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t QEIVEL;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t QEICAP;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t VELCOMP;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FILTER;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0[998];
							 | 
						||
| 
								 | 
							
								  __O  uint32_t QEIIEC;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t QEIIES;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t QEIINTSTAT;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t QEIIE;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t QEICLR;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t QEISET;
							 | 
						||
| 
								 | 
							
								} LPC_QEI_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Controller Area Network (CAN) --------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t mask[512];              /* ID Masks                           */
							 | 
						||
| 
								 | 
							
								} LPC_CANAF_RAM_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct                          /* Acceptance Filter Registers        */
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t AFMR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SFF_sa;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SFF_GRP_sa;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t EFF_sa;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t EFF_GRP_sa;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t ENDofTable;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t LUTerrAd;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t LUTerr;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FCANIE;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FCANIC0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FCANIC1;
							 | 
						||
| 
								 | 
							
								} LPC_CANAF_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct                          /* Central Registers                  */
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CANTxSR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CANRxSR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t CANMSR;
							 | 
						||
| 
								 | 
							
								} LPC_CANCR_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct                          /* Controller Registers               */
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MOD;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t CMR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t GSR;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t ICR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IER;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t BTR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t EWL;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t SR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RFS;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RID;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RDA;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RDB;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TFI1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TID1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TDA1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TDB1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TFI2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TID2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TDA2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TDB2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TFI3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TID3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TDA3;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TDB3;
							 | 
						||
| 
								 | 
							
								} LPC_CAN_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- General Purpose Direct Memory Access (GPDMA) -----------------*/
							 | 
						||
| 
								 | 
							
								typedef struct                          /* Common Registers                   */
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __I  uint32_t DMACIntStat;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t DMACIntTCStat;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t DMACIntTCClear;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t DMACIntErrStat;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t DMACIntErrClr;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t DMACRawIntTCStat;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t DMACRawIntErrStat;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t DMACEnbldChns;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACSoftBReq;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACSoftSReq;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACSoftLBReq;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACSoftLSReq;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACConfig;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACSync;
							 | 
						||
| 
								 | 
							
								} LPC_GPDMA_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct                          /* Channel Registers                  */
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACCSrcAddr;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACCDestAddr;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACCLLI;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACCControl;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t DMACCConfig;
							 | 
						||
| 
								 | 
							
								} LPC_GPDMACH_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Universal Serial Bus (USB) -----------------------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __I  uint32_t HcRevision;             /* USB Host Registers                 */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcControl;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcCommandStatus;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcInterruptStatus;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcInterruptEnable;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcInterruptDisable;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcHCCA;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t HcPeriodCurrentED;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcControlHeadED;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcControlCurrentED;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcBulkHeadED;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcBulkCurrentED;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t HcDoneHead;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcFmInterval;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t HcFmRemaining;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t HcFmNumber;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcPeriodicStart;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcLSTreshold;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcRhDescriptorA;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcRhDescriptorB;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcRhStatus;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcRhPortStatus1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HcRhPortStatus2;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0[40];
							 | 
						||
| 
								 | 
							
								  __I  uint32_t Module_ID;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  __I  uint32_t OTGIntSt;               /* USB On-The-Go Registers            */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t OTGIntEn;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t OTGIntSet;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t OTGIntClr;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t OTGStCtrl;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t OTGTmr;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED1[58];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBDevIntSt;            /* USB Device Interrupt Registers     */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBDevIntEn;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBDevIntClr;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBDevIntSet;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBCmdCode;             /* USB Device SIE Command Registers   */
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBCmdData;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBRxData;              /* USB Device Transfer Registers      */
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBTxData;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBRxPLen;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBTxPLen;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBCtrl;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBDevIntPri;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBEpIntSt;             /* USB Device Endpoint Interrupt Regs */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBEpIntEn;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBEpIntClr;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBEpIntSet;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBEpIntPri;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBReEp;                /* USB Device Endpoint Realization Reg*/
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBEpInd;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBMaxPSize;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBDMARSt;              /* USB Device DMA Registers           */
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBDMARClr;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBDMARSet;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED2[9];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBUDCAH;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBEpDMASt;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBEpDMAEn;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBEpDMADis;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBDMAIntSt;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBDMAIntEn;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED3[2];
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBEoTIntSt;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBEoTIntClr;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBEoTIntSet;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBNDDRIntSt;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBNDDRIntClr;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBNDDRIntSet;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBSysErrIntSt;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBSysErrIntClr;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t USBSysErrIntSet;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED4[15];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __I  uint32_t I2C_RX;                 /* USB OTG I2C Registers              */
							 | 
						||
| 
								 | 
							
								  __O  uint32_t I2C_TX;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  __I  uint32_t I2C_STS;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2C_CTL;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t I2C_CLKHI;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t I2C_CLKLO;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED5[824];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __IO uint32_t USBClkCtrl;             /* USB Clock Control Registers        */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t OTGClkCtrl;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  union {
							 | 
						||
| 
								 | 
							
								  __I  uint32_t USBClkSt;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t OTGClkSt;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								} LPC_USB_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*------------- Ethernet Media Access Controller (EMAC) ----------------------*/
							 | 
						||
| 
								 | 
							
								typedef struct
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MAC1;                   /* MAC Registers                      */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MAC2;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IPGT;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IPGR;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t CLRT;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MAXF;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SUPP;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TEST;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCFG;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MCMD;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t MADR;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t MWTD;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t MRDD;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t MIND;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED0[2];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SA0;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SA1;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t SA2;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED1[45];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t Command;                /* Control Registers                  */
							 | 
						||
| 
								 | 
							
								  __I  uint32_t Status;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RxDescriptor;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RxStatus;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RxDescriptorNumber;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t RxProduceIndex;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RxConsumeIndex;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TxDescriptor;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TxStatus;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TxDescriptorNumber;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t TxProduceIndex;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t TxConsumeIndex;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED2[10];
							 | 
						||
| 
								 | 
							
								  __I  uint32_t TSV0;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t TSV1;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t RSV;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED3[3];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t FlowControlCounter;
							 | 
						||
| 
								 | 
							
								  __I  uint32_t FlowControlStatus;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED4[34];
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RxFilterCtrl;           /* Rx Filter Registers                */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RxFilterWoLStatus;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t RxFilterWoLClear;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED5;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HashFilterL;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t HashFilterH;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED6[882];
							 | 
						||
| 
								 | 
							
								  __I  uint32_t IntStatus;              /* Module Control Registers           */
							 | 
						||
| 
								 | 
							
								  __IO uint32_t IntEnable;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t IntClear;
							 | 
						||
| 
								 | 
							
								  __O  uint32_t IntSet;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED7;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t PowerDown;
							 | 
						||
| 
								 | 
							
								       uint32_t RESERVED8;
							 | 
						||
| 
								 | 
							
								  __IO uint32_t Module_ID;
							 | 
						||
| 
								 | 
							
								} LPC_EMAC_TypeDef;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if defined ( __CC_ARM   )
							 | 
						||
| 
								 | 
							
								#pragma no_anon_unions
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/******************************************************************************/
							 | 
						||
| 
								 | 
							
								/*                         Peripheral memory map                              */
							 | 
						||
| 
								 | 
							
								/******************************************************************************/
							 | 
						||
| 
								 | 
							
								/* Base addresses                                                             */
							 | 
						||
| 
								 | 
							
								#define LPC_FLASH_BASE        (0x00000000UL)
							 | 
						||
| 
								 | 
							
								#define LPC_RAM_BASE          (0x10000000UL)
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO_BASE         (0x2009C000UL)
							 | 
						||
| 
								 | 
							
								#define LPC_APB0_BASE         (0x40000000UL)
							 | 
						||
| 
								 | 
							
								#define LPC_APB1_BASE         (0x40080000UL)
							 | 
						||
| 
								 | 
							
								#define LPC_AHB_BASE          (0x50000000UL)
							 | 
						||
| 
								 | 
							
								#define LPC_CM3_BASE          (0xE0000000UL)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* APB0 peripherals                                                           */
							 | 
						||
| 
								 | 
							
								#define LPC_WDT_BASE          (LPC_APB0_BASE + 0x00000)
							 | 
						||
| 
								 | 
							
								#define LPC_TIM0_BASE         (LPC_APB0_BASE + 0x04000)
							 | 
						||
| 
								 | 
							
								#define LPC_TIM1_BASE         (LPC_APB0_BASE + 0x08000)
							 | 
						||
| 
								 | 
							
								#define LPC_UART0_BASE        (LPC_APB0_BASE + 0x0C000)
							 | 
						||
| 
								 | 
							
								#define LPC_UART1_BASE        (LPC_APB0_BASE + 0x10000)
							 | 
						||
| 
								 | 
							
								#define LPC_PWM1_BASE         (LPC_APB0_BASE + 0x18000)
							 | 
						||
| 
								 | 
							
								#define LPC_I2C0_BASE         (LPC_APB0_BASE + 0x1C000)
							 | 
						||
| 
								 | 
							
								#define LPC_SPI_BASE          (LPC_APB0_BASE + 0x20000)
							 | 
						||
| 
								 | 
							
								#define LPC_RTC_BASE          (LPC_APB0_BASE + 0x24000)
							 | 
						||
| 
								 | 
							
								#define LPC_GPIOINT_BASE      (LPC_APB0_BASE + 0x28080)
							 | 
						||
| 
								 | 
							
								#define LPC_PINCON_BASE       (LPC_APB0_BASE + 0x2C000)
							 | 
						||
| 
								 | 
							
								#define LPC_SSP1_BASE         (LPC_APB0_BASE + 0x30000)
							 | 
						||
| 
								 | 
							
								#define LPC_ADC_BASE          (LPC_APB0_BASE + 0x34000)
							 | 
						||
| 
								 | 
							
								#define LPC_CANAF_RAM_BASE    (LPC_APB0_BASE + 0x38000)
							 | 
						||
| 
								 | 
							
								#define LPC_CANAF_BASE        (LPC_APB0_BASE + 0x3C000)
							 | 
						||
| 
								 | 
							
								#define LPC_CANCR_BASE        (LPC_APB0_BASE + 0x40000)
							 | 
						||
| 
								 | 
							
								#define LPC_CAN1_BASE         (LPC_APB0_BASE + 0x44000)
							 | 
						||
| 
								 | 
							
								#define LPC_CAN2_BASE         (LPC_APB0_BASE + 0x48000)
							 | 
						||
| 
								 | 
							
								#define LPC_I2C1_BASE         (LPC_APB0_BASE + 0x5C000)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* APB1 peripherals                                                           */
							 | 
						||
| 
								 | 
							
								#define LPC_SSP0_BASE         (LPC_APB1_BASE + 0x08000)
							 | 
						||
| 
								 | 
							
								#define LPC_DAC_BASE          (LPC_APB1_BASE + 0x0C000)
							 | 
						||
| 
								 | 
							
								#define LPC_TIM2_BASE         (LPC_APB1_BASE + 0x10000)
							 | 
						||
| 
								 | 
							
								#define LPC_TIM3_BASE         (LPC_APB1_BASE + 0x14000)
							 | 
						||
| 
								 | 
							
								#define LPC_UART2_BASE        (LPC_APB1_BASE + 0x18000)
							 | 
						||
| 
								 | 
							
								#define LPC_UART3_BASE        (LPC_APB1_BASE + 0x1C000)
							 | 
						||
| 
								 | 
							
								#define LPC_I2C2_BASE         (LPC_APB1_BASE + 0x20000)
							 | 
						||
| 
								 | 
							
								#define LPC_I2S_BASE          (LPC_APB1_BASE + 0x28000)
							 | 
						||
| 
								 | 
							
								#define LPC_RIT_BASE          (LPC_APB1_BASE + 0x30000)
							 | 
						||
| 
								 | 
							
								#define LPC_MCPWM_BASE        (LPC_APB1_BASE + 0x38000)
							 | 
						||
| 
								 | 
							
								#define LPC_QEI_BASE          (LPC_APB1_BASE + 0x3C000)
							 | 
						||
| 
								 | 
							
								#define LPC_SC_BASE           (LPC_APB1_BASE + 0x7C000)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* AHB peripherals                                                            */
							 | 
						||
| 
								 | 
							
								#define LPC_EMAC_BASE         (LPC_AHB_BASE  + 0x00000)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMA_BASE        (LPC_AHB_BASE  + 0x04000)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH0_BASE     (LPC_AHB_BASE  + 0x04100)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH1_BASE     (LPC_AHB_BASE  + 0x04120)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH2_BASE     (LPC_AHB_BASE  + 0x04140)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH3_BASE     (LPC_AHB_BASE  + 0x04160)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH4_BASE     (LPC_AHB_BASE  + 0x04180)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH5_BASE     (LPC_AHB_BASE  + 0x041A0)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH6_BASE     (LPC_AHB_BASE  + 0x041C0)
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH7_BASE     (LPC_AHB_BASE  + 0x041E0)
							 | 
						||
| 
								 | 
							
								#define LPC_USB_BASE          (LPC_AHB_BASE  + 0x0C000)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* GPIOs                                                                      */
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO0_BASE        (LPC_GPIO_BASE + 0x00000)
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO1_BASE        (LPC_GPIO_BASE + 0x00020)
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO2_BASE        (LPC_GPIO_BASE + 0x00040)
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO3_BASE        (LPC_GPIO_BASE + 0x00060)
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO4_BASE        (LPC_GPIO_BASE + 0x00080)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/******************************************************************************/
							 | 
						||
| 
								 | 
							
								/*                         Peripheral declaration                             */
							 | 
						||
| 
								 | 
							
								/******************************************************************************/
							 | 
						||
| 
								 | 
							
								#define LPC_SC                ((LPC_SC_TypeDef        *) LPC_SC_BASE       )
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO0             ((LPC_GPIO_TypeDef      *) LPC_GPIO0_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO1             ((LPC_GPIO_TypeDef      *) LPC_GPIO1_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO2             ((LPC_GPIO_TypeDef      *) LPC_GPIO2_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO3             ((LPC_GPIO_TypeDef      *) LPC_GPIO3_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_GPIO4             ((LPC_GPIO_TypeDef      *) LPC_GPIO4_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_WDT               ((LPC_WDT_TypeDef       *) LPC_WDT_BASE      )
							 | 
						||
| 
								 | 
							
								#define LPC_TIM0              ((LPC_TIM_TypeDef       *) LPC_TIM0_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_TIM1              ((LPC_TIM_TypeDef       *) LPC_TIM1_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_TIM2              ((LPC_TIM_TypeDef       *) LPC_TIM2_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_TIM3              ((LPC_TIM_TypeDef       *) LPC_TIM3_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_RIT               ((LPC_RIT_TypeDef       *) LPC_RIT_BASE      )
							 | 
						||
| 
								 | 
							
								#define LPC_UART0             ((LPC_UART0_TypeDef     *) LPC_UART0_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_UART1             ((LPC_UART1_TypeDef     *) LPC_UART1_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_UART2             ((LPC_UART_TypeDef      *) LPC_UART2_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_UART3             ((LPC_UART_TypeDef      *) LPC_UART3_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_PWM1              ((LPC_PWM_TypeDef       *) LPC_PWM1_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_I2C0              ((LPC_I2C_TypeDef       *) LPC_I2C0_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_I2C1              ((LPC_I2C_TypeDef       *) LPC_I2C1_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_I2C2              ((LPC_I2C_TypeDef       *) LPC_I2C2_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_I2S               ((LPC_I2S_TypeDef       *) LPC_I2S_BASE      )
							 | 
						||
| 
								 | 
							
								#define LPC_SPI               ((LPC_SPI_TypeDef       *) LPC_SPI_BASE      )
							 | 
						||
| 
								 | 
							
								#define LPC_RTC               ((LPC_RTC_TypeDef       *) LPC_RTC_BASE      )
							 | 
						||
| 
								 | 
							
								#define LPC_GPIOINT           ((LPC_GPIOINT_TypeDef   *) LPC_GPIOINT_BASE  )
							 | 
						||
| 
								 | 
							
								#define LPC_PINCON            ((LPC_PINCON_TypeDef    *) LPC_PINCON_BASE   )
							 | 
						||
| 
								 | 
							
								#define LPC_SSP0              ((LPC_SSP_TypeDef       *) LPC_SSP0_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_SSP1              ((LPC_SSP_TypeDef       *) LPC_SSP1_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_ADC               ((LPC_ADC_TypeDef       *) LPC_ADC_BASE      )
							 | 
						||
| 
								 | 
							
								#define LPC_DAC               ((LPC_DAC_TypeDef       *) LPC_DAC_BASE      )
							 | 
						||
| 
								 | 
							
								#define LPC_CANAF_RAM         ((LPC_CANAF_RAM_TypeDef *) LPC_CANAF_RAM_BASE)
							 | 
						||
| 
								 | 
							
								#define LPC_CANAF             ((LPC_CANAF_TypeDef     *) LPC_CANAF_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_CANCR             ((LPC_CANCR_TypeDef     *) LPC_CANCR_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_CAN1              ((LPC_CAN_TypeDef       *) LPC_CAN1_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_CAN2              ((LPC_CAN_TypeDef       *) LPC_CAN2_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_MCPWM             ((LPC_MCPWM_TypeDef     *) LPC_MCPWM_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_QEI               ((LPC_QEI_TypeDef       *) LPC_QEI_BASE      )
							 | 
						||
| 
								 | 
							
								#define LPC_EMAC              ((LPC_EMAC_TypeDef      *) LPC_EMAC_BASE     )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMA             ((LPC_GPDMA_TypeDef     *) LPC_GPDMA_BASE    )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH0          ((LPC_GPDMACH_TypeDef   *) LPC_GPDMACH0_BASE )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH1          ((LPC_GPDMACH_TypeDef   *) LPC_GPDMACH1_BASE )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH2          ((LPC_GPDMACH_TypeDef   *) LPC_GPDMACH2_BASE )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH3          ((LPC_GPDMACH_TypeDef   *) LPC_GPDMACH3_BASE )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH4          ((LPC_GPDMACH_TypeDef   *) LPC_GPDMACH4_BASE )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH5          ((LPC_GPDMACH_TypeDef   *) LPC_GPDMACH5_BASE )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH6          ((LPC_GPDMACH_TypeDef   *) LPC_GPDMACH6_BASE )
							 | 
						||
| 
								 | 
							
								#define LPC_GPDMACH7          ((LPC_GPDMACH_TypeDef   *) LPC_GPDMACH7_BASE )
							 | 
						||
| 
								 | 
							
								//#define LPC_USB               ((LPC_USB_TypeDef       *) LPC_USB_BASE      )
							 | 
						||
| 
								 | 
							
								extern LPC_USB_TypeDef lpc_usb;
							 | 
						||
| 
								 | 
							
								#define LPC_USB (&lpc_usb)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif  // __LPC17xx_H__
							 |