⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 73x_map.h

📁 国外LPC2000系列的一些源程序,请大家快快下载
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************** (C) COPYRIGHT 2005 STMicroelectronics **********************
* File Name          : 73x_map.h
* Author             : MCD Application Team
* Date First Issued  : 09/27/2005 :  V1.0
* Description        : This file contains all the peripheral register's definitions
*                      and memory mapping.
**********************************************************************************
* History:
* 09/27/2005 :  V1.0
**********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*********************************************************************************/

/* Define to prevent recursive inclusion -------------------------------------- */
#ifndef __73x_MAP_H
#define __73x_MAP_H

#ifndef EXT
  #define EXT extern
#endif /* EXT */

/* Includes --------------------------------------------------------------------*/
#include "73x_conf.h"
#include "73x_type.h"

/********************************************************************************/
/*                          IP registers structures               	        */
/********************************************************************************/

/**************************NATIVE  System memory Map*****************************/

/*-------------------------------FLASH -----------------------------------------*/
typedef struct
{
  vu32  CR0;
  vu32  CR1;
  vu32  DR0;
  vu32  DR1;
  vu32  AR;
  vu32  ER;
} FLASHR_TypeDef;
typedef struct
{
  vu32  NVWPAR;
  u32   EMPTY;
  vu32  NVAPR0;
  vu32  NVAPR1;
} FLASHPR_TypeDef;

/*------------------- Power, Reset and Clocks Unit------------------------------*/
typedef struct
{
  vu32  CCR   ;      /*Clock Control Register*/
  vu32  VRCTR ;      /*Voltage Regulator Control Register*/
  vu32  CFR ;        /*Clock Flag Register*/
  u32   EMPTY1[3];
  vu32  PLLCR  ;     /*PLL Configuration Register*/
  u32   EMPTY2 ;
  vu32  SMR ;        /*System Mode Register*/
  u32   EMPTY3 ;
  vu32  RTCPR ;      /*Real Time Clock Programming Register*/
} PRCCU_TypeDef;

/*----------------   Native Arbiter Registers ----------------------------------*/

typedef  struct
{
  vu32  TOR;
  vu32  PRIOR;
  u32   EMPTY;
  vu32  CTLR;
} ARB_TypeDef;
/*----------------   System Configuration Registers ----------------------------*/
typedef struct
{
  vu32  R0     ;    /*Configuration Register 0*/
  vu32  EITE0  ;    /*External Interrupt Trigger Event Register 0*/
  vu32  PCGR0  ;    /*Peripheral Clock Gating Register 0*/
  vu32  PCGR1  ;    /*Peripheral Clock Gating Register 1*/
  vu32  PECGR0 ;    /*Peripheral Emulation Clock Gating Register 0*/
  vu32  PECGR1 ;    /*Peripheral Emulation Clock Gating Register 1*/
  vu32  PCGRB0 ;    /*Peripheral Clock Gating Register B0*/
  vu32  PCGRB1 ;    /*Peripheral Clock Gating Register B1*/
  vu32  TIMSR  ;    /*TIM External Clock Select Register*/
  vu32  EITE1  ;    /*External Interrupt Trigger Event Register 1*/
  vu32  EITE2  ;    /*External Interrupt Trigger Event Register 2*/
  vu32  ESPR   ;    /*Emulation Serial Protection Register*/
  vu32  R1     ;    /*Configuration Register 1*/
  vuc32 DIDR   ;    /*Device Identification Register*/
}CFG_TypeDef;
/*----------------------------AHB BRIDGE --------------------------------------*/
typedef struct
{
  vu32  TOR;
  vu32  PRIOR;
  u32   EMPTY;
  vu32  CTLR;
} AHB_TypeDef;

/**************************APB  System memory Map*******************************/

/*----------------------------APB BRIDGE --------------------------------------*/

typedef struct
{
  vu32  BSR;
  vu32  TOR;
  vuc32 OMR; 
  vuc32 TOER;
} APB_TypeDef;

/*----------------  Clock Monitor Unit ----------------------------------------*/
typedef  struct
{
  vu16  RCCTL     ;  /* RCOscillator Control Register */
  u16   EMPTY1    ;
  vuc16 FDISP    ;  /* Frequency Display Register*/
  u16   EMPTY2    ;
  vu16  FRH       ;  /* Frequency Reference High Register*/
  u16   EMPTY3    ;
  vu16  FRL       ;  /* Frequency Reference Low Register*/
  u16   EMPTY4    ;
  vu16  CTRL      ;  /* Control Register*/
  u16   EMPTY5    ;
  vu16  STAT      ;  /* Status Register*/
  u16   EMPTY6    ;
  vu16  IS        ;  /* Interrupt Status Register*/
  u16   EMPTY7    ;
  vu16  IM        ;  /* Interrupt Mask Register*/
  u16   EMPTY8    ;
  vu16  EOCV      ;  /* End Of Countvalue Register*/
  u16   EMPTY9    ;
  vu16  WE        ;  /* Writing Enable Register*/
  u16   EMPTY10   ;
} CMU_TypeDef;

/*---------------------- Buffered Serial Port Interface ----------------------*/

typedef struct
{
  vuc16 RXR;        /*Receive Register*/
  u16   EMPTY1;
  vu16  TXR;        /*Transmit Register*/
  u16   EMPTY2;
  vu16  CSR1;       /*control Status Register 1*/
  u16   EMPTY3;
  vu16  CSR2;       /*Control Status Register 2*/
  u16   EMPTY4;
  vu16  CLK;        /*Master Clock Divider Register*/
  u16   EMPTY5;
  vu16  CSR3;       /*Control Status Register 3*/
  u16   EMPTY6;
} BSPI_TypeDef;

/*---------------------- I2C  ------------------------------------------------*/
typedef  struct
{
  vu8  CR;
  u8   EMPTY1[3];
  vuc8 SR1;
  u8   EMPTY2[3];
  vuc8 SR2;
  u8   EMPTY3[3];
  vu8  CCR;
  u8   EMPTY4[3];
  vu8  OAR1;
  u8   EMPTY5[3];
  vu8  OAR2;
  u8   EMPTY6[3];
  vu8  DR;
  u8   EMPTY7[3];
  vu8  ECCR;
  u8   EMPTY8[3];
} I2C_TypeDef;
/*------------------- Universal Asynchronous Receiver Transmitter ------------*/
typedef struct
{
  vu16  BR;       /*BaudRate register*/
  u16   EMPTY1;
  vu16  TxBUFR;   /*TxBuffer Register*/
  u16   EMPTY2;
  vuc16 RxBUFR;   /*RxBuffer Register*/
  u16   EMPTY3;
  vu16  CR;       /*Control Register*/
  u16   EMPTY4;
  vu16  IER;      /*IntEnable Register*/
  u16   EMPTY5;
  vuc16 SR;       /*Status Register*/
  u16   EMPTY6;
  u16   EMPTY7;
  u16   EMPTY8;
  vu16  TOR;      /*Timeout Register*/
  u16   EMPTY9;
  vu16  TxRSTR;   /*TxReset register*/
  u16   EMPTY10;
  vu16  RxRSTR;   /*RxReset register*/
  u16   EMPTY11;
} UART_TypeDef;

/*----------------  Analog to Digital Converter -----------------------*/
typedef struct
{
  vu16  CLR0 ;
  u16   EMPTY1;
  vu16  CLR1 ;
  u16   EMPTY2;
  vu16  CLR2 ;
  u16   EMPTY3;
  vu16  CLR3 ;
  u16   EMPTY4;
  vu16  CLR4 ;
  u16   EMPTY5;
  vu16  TRA0 ;
  u16   EMPTY6;
  vu16  TRA1 ;
  u16   EMPTY7;
  vu16  TRA2 ;
  u16   EMPTY8;
  vu16  TRA3 ;
  u16   EMPTY9;
  vu16  TRB0 ;
  u16   EMPTY10;
  vu16  TRB1 ;
  u16   EMPTY11;
  vu16  TRB2 ;
  u16   EMPTY12;
  vu16  TRB3 ;
  u16   EMPTY13;
  vu16  DMAR ;
  u16   EMPTY14[7];
  vu16  DMAE ;
  u16   EMPTY15  ;
  vu16  PBR  ;
  u16   EMPTY16;
  vu16  IMR  ;
  u16   EMPTY17;
  vuc16 D0 ;
  u16   EMPTY18;
  vuc16 D1 ;
  u16   EMPTY19;
  vuc16 D2 ;
  u16   EMPTY20;
  vuc16 D3 ;
  u16   EMPTY21;
  vuc16 D4 ;
  u16   EMPTY22;
  vuc16 D5 ;
  u16   EMPTY23;
  vuc16 D6 ;
  u16   EMPTY24;
  vuc16 D7 ;
  u16   EMPTY25;
  vuc16 D8 ;
  u16   EMPTY26;
  vuc16 D9 ;
  u16   EMPTY27;
  vuc16 D10;
  u16   EMPTY28;
  vuc16 D11 ;
  u16   EMPTY29;
  vuc16 D12 ;
  u16   EMPTY30;
  vuc16 D13 ;
  u16   EMPTY31;
  vuc16 D14 ;
  u16   EMPTY32;
  vuc16 D15 ;
  u16   EMPTY33;
} ADC_TypeDef;

/*-------------------- General Purpose IO ports---------------------------*/
typedef struct
{
  vu16  PC0;
  u16   EMPTY1;
  vu16  PC1;
  u16   EMPTY2;
  vu16  PC2;
  u16   EMPTY3;
  vu16  PD;
  u16   EMPTY4;
} GPIO_TypeDef;

/*--------------------------Real Time Clock ------------------------------*/
typedef struct
{
  vu16  CRH;
  u16   EMPTY1;
  vu16  CRL;
  u16   EMPTY2;
  vu16  PRLH;
  u16   EMPTY3;
  vu16  PRLL;
  u16   EMPTY4;
  vu16  DIVH;
  u16   EMPTY5;
  vu16  DIVL;
  u16   EMPTY6;
  vu16  CNTH;
  u16   EMPTY7;
  vu16  CNTL;
  u16   EMPTY8;
  vu16  ALRH;
  u16   EMPTY9;
  vu16  ALRL;
  u16   EMPTY10;
} RTC_TypeDef;

/*-------------- Enhanced Interrupt Controller ----------------------------*/
typedef struct
{
  vu32  ICR      ;   /*  Interrupt Control Register*/
  vuc32 CICR     ;   /*  Current Interrupt Channel Register*/
  vu32  CIPR     ;   /*  Current Interrupt Priority Register*/
  u32   EMPTY1   ;   
  vu32  FIER     ;   /*  Fast Interrupt Enable Register*/
  vu32  FIPR     ;   /*  Fast Interrupt Pending Register*/
  vu32  IVR      ;   /*  Interrupt Vector Register*/
  vu32  FIR      ;   /*  Fast Interrupt Register*/
  vu32  IER0     ;   /*  Interrupt Enable Register0*/
  vu32  IER1     ;   /*  Interrupt Enable Register1*/
  u32   EMPTY3[6];
  vu32  IPR0     ;   /*  Interrupt Pending Register0*/
  vu32  IPR1     ;   /*  Interrupt Pending Register1*/
  u32   EMPTY4[6];
  vu32  SIRn[64] ;   /*  Source Interrupt registers- Channel n*/
} EIC_TypeDef;

/*-------------------------- Wake-up/Interrupt Unit-----------------------*/

typedef  struct
{
  vu32  CTRL  ;   /*Control Register*/
  vu32  MR    ;   /*Mask Register*/
  vu32  TR    ;   /*Trigger Register*/
  vu32  PR    ;   /*Pending Register*/
  vu32  INTR  ;   /*Software Interrupt Register*/
} WIU_TypeDef;

/*----------------------------------- Wake-Up Timer-----------------------*/
typedef struct
{
  vu16  CR    ;   /*Control Register*/
  u16   EMPTY1;
  vu16  PR    ;   /*Prescaler Register*/
  u16   EMPTY2;
  vu16  VR    ;   /*Pre-load Value Register*/
  u16   EMPTY3;
  vuc16 CNT  ;   /*Counter Register*/
  u16   EMPTY4;
  vu16  SR    ;   /*Status Register*/
  u16   EMPTY5;
  vu16  MR    ;   /*Mask Register*/
  u16   EMPTY6;
} WUT_TypeDef;
/*-------------------- Extended Function TIMer ---------------------------*/

typedef  struct
{
  vuc16 ICAR;   /* Input Capture A Register*/
  u16   EMPTY1;
  vuc16 ICBR;   /* Input Capture B Register*/
  u16   EMPTY2;
  vu16  OCAR;   /* Output Compare A Register*/
  u16   EMPTY3;
  vu16  OCBR;   /* Input Capture B Register*/
  u16   EMPTY4;
  vu16  CNTR;   /* Counter Register */
  u16   EMPTY5;
  vu16  CR1;    /* Control Register 1 */
  u16   EMPTY6;
  vu16  CR2;    /* Control Register 2 */
  u16   EMPTY7;
  vu16  SR;     /* Status Register */
  u16   EMPTY8;
} TIM_TypeDef;

/*-------------------------------- TimeBase timer-------------------------*/
typedef  struct
{
  vu16  CR  ;
  u16   EMPTY1;
  vu16  PR  ;
  u16   EMPTY2;
  vu16  VR  ;
  u16   EMPTY3;
  vuc16 CNT ;
  u16   EMPTY4;
  vu16  SR  ;
  u16   EMPTY5;
  vu16  MR  ;
  u16   EMPTY6;
} TB_TypeDef;

/*----------------------------- Pulse Width Modulator----------------------*/
typedef  struct
{
  vu16  PRS0  ;
  u16   EMPTY1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -