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

📄 lpc2106.h

📁 基于Philips LPC2104芯片
💻 H
📖 第 1 页 / 共 2 页
字号:
#define U0SCR           (*((volatile unsigned char *) 0xE000C01C))	//U0高速缓存寄存器		{7:0}UART操作时无特别意义,可随意读写
#define U0DLL           (*((volatile unsigned char *) 0xE000C000))	//U0除数锁存LSB寄存器	{7:0}和U0DLM构成16位cclk的分频值,波特率时钟是波特率的16倍
#define U0DLM           (*((volatile unsigned char *) 0xE000C004))	

/* Universal Asynchronous Receiver Transmitter 1 (UART1) */
/* 通用异步串行口1(UART1)的特殊寄存器 */
#define U1RBR           (*((volatile unsigned char *) 0xE0010000))	//
#define U1THR           (*((volatile unsigned char *) 0xE0010000))
#define U1IER           (*((volatile unsigned char *) 0xE0010004))
#define U1IIR           (*((volatile unsigned char *) 0xE0010008))
#define U1FCR           (*((volatile unsigned char *) 0xE0010008))
#define U1LCR           (*((volatile unsigned char *) 0xE001000C))
#define U1MCR           (*((volatile unsigned char *) 0xE0010010))
#define U1LSR           (*((volatile unsigned char *) 0xE0010014))
#define U1MSR           (*((volatile unsigned char *) 0xE0010018))
#define U1SCR           (*((volatile unsigned char *) 0xE001001C))
#define U1DLL           (*((volatile unsigned char *) 0xE0010000))
#define U1DLM           (*((volatile unsigned char *) 0xE0010004))

/* I2C (8/16 bit data bus) */
/* 芯片间总线(I2C)的特殊寄存器 */
#define I2CONSET        (*((volatile unsigned long *) 0xE001C000))	//
#define I2STAT          (*((volatile unsigned long *) 0xE001C004))	//
#define I2DAT           (*((volatile unsigned long *) 0xE001C008))	//
#define I2ADR           (*((volatile unsigned long *) 0xE001C00C))	//
#define I2SCLH          (*((volatile unsigned long *) 0xE001C010))	//
#define I2SCLL          (*((volatile unsigned long *) 0xE001C014))	//
#define I2CONCLR        (*((volatile unsigned long *) 0xE001C018))	//

/* SPI (Serial Peripheral Interface) */
/* SPI总线接口的特殊寄存器 */
#define SPI_SPCR        (*((volatile unsigned char *) 0xE0020000))	//SPI控制寄存器	{SPIE,LSBF,MSTR,CPOL,CPHA,2:0}SPIE:SPI中断使能;LSBF:移位方向控制,为1时LSB在先,为0时MSB在先;MSTR:为1主模式,为0从模式;CPOL:时钟机型控制,为1时SCK低有效,为0高有效;CPHA:?
#define SPI_SPSR        (*((volatile unsigned char *) 0xE0020004))	//SPI状态寄存器	{SPIF,WCOL,ROVR,MODF,ABRT,2:0}SPIF:传输完成;WCOL:写冲突;RVOR:读溢出;MODF:模式错误;ABRT:从机中止;这些位都是为1有效,读出后自动清零
#define SPI_SPDR        (*((volatile unsigned char *) 0xE0020008))	//SPI数据寄存器	{7:0}SPI数据寄存器,读写都在里面。做主机时写入会启动SPI传输,传输完成之前不能访问
#define SPI_SPCCR       (*((volatile unsigned char *) 0xE002000C))	//SPI时钟计数寄存器	{7:0}必须为0数且大于8; SPI_SPCCR=PCLK/SPI_CLK	,PCLK=CCLK/VPB
#define SPI_SPINT       (*((volatile unsigned char *) 0xE002001C))	//SPI中断寄存器	{7:1,SPI中断}7:1保留;0:为1有中断

/* Timer 0 */
/* 定时器0的特殊寄存器 */
#define T0IR            (*((volatile unsigned long *) 0xE0004000))	//
#define T0TCR           (*((volatile unsigned long *) 0xE0004004))	//
#define T0TC            (*((volatile unsigned long *) 0xE0004008))	//
#define T0PR            (*((volatile unsigned long *) 0xE000400C))	//
#define T0PC            (*((volatile unsigned long *) 0xE0004010))	//
#define T0MCR           (*((volatile unsigned long *) 0xE0004014))	//
#define T0MR0           (*((volatile unsigned long *) 0xE0004018))	//
#define T0MR1           (*((volatile unsigned long *) 0xE000401C))	//
#define T0MR2           (*((volatile unsigned long *) 0xE0004020))	//
#define T0MR3           (*((volatile unsigned long *) 0xE0004024))	//
#define T0CCR           (*((volatile unsigned long *) 0xE0004028))	//
#define T0CR0           (*((volatile unsigned long *) 0xE000402C))	//
#define T0CR1           (*((volatile unsigned long *) 0xE0004030))	//
#define T0CR2           (*((volatile unsigned long *) 0xE0004034))	//
#define T0CR3           (*((volatile unsigned long *) 0xE0004038))	//
#define T0EMR           (*((volatile unsigned long *) 0xE000403C))	//

/* Timer 1 */
/* 定时器1的特殊寄存器 */
#define T1IR            (*((volatile unsigned long *) 0xE0008000))	//
#define T1TCR           (*((volatile unsigned long *) 0xE0008004))	//
#define T1TC            (*((volatile unsigned long *) 0xE0008008))	//
#define T1PR            (*((volatile unsigned long *) 0xE000800C))	//
#define T1PC            (*((volatile unsigned long *) 0xE0008010))	//
#define T1MCR           (*((volatile unsigned long *) 0xE0008014))	//
#define T1MR0           (*((volatile unsigned long *) 0xE0008018))	//
#define T1MR1           (*((volatile unsigned long *) 0xE000801C))	//
#define T1MR2           (*((volatile unsigned long *) 0xE0008020))	//
#define T1MR3           (*((volatile unsigned long *) 0xE0008024))	//
#define T1CCR           (*((volatile unsigned long *) 0xE0008028))	//
#define T1CR0           (*((volatile unsigned long *) 0xE000802C))	//
#define T1CR1           (*((volatile unsigned long *) 0xE0008030))	//
#define T1CR2           (*((volatile unsigned long *) 0xE0008034))	//
#define T1CR3           (*((volatile unsigned long *) 0xE0008038))	//
#define T1EMR           (*((volatile unsigned long *) 0xE000803C))	//

/* Pulse Width Modulator (PWM) */
/* 脉宽调制器的特殊寄存器 */
#define PWMIR           (*((volatile unsigned long *) 0xE0014000))	//
#define PWMTCR          (*((volatile unsigned long *) 0xE0014004))	//
#define PWMTC           (*((volatile unsigned long *) 0xE0014008))	//
#define PWMPR           (*((volatile unsigned long *) 0xE001400C))	//
#define PWMPC           (*((volatile unsigned long *) 0xE0014010))
#define PWMMCR          (*((volatile unsigned long *) 0xE0014014))
#define PWMMR0          (*((volatile unsigned long *) 0xE0014018))
#define PWMMR1          (*((volatile unsigned long *) 0xE001401C))
#define PWMMR2          (*((volatile unsigned long *) 0xE0014020))
#define PWMMR3          (*((volatile unsigned long *) 0xE0014024))
#define PWMMR4          (*((volatile unsigned long *) 0xE0014040))
#define PWMMR5          (*((volatile unsigned long *) 0xE0014044))
#define PWMMR6          (*((volatile unsigned long *) 0xE0014048))
#define PWMPCR          (*((volatile unsigned long *) 0xE001404C))
#define PWMLER          (*((volatile unsigned long *) 0xE0014050))


/* Real Time Clock */
/* 实时时钟的特殊寄存器 */
#define ILR             (*((volatile unsigned char *) 0xE0024000))
#define CTC             (*((volatile unsigned short*) 0xE0024004))
#define CCR             (*((volatile unsigned char *) 0xE0024008))
#define CIIR            (*((volatile unsigned char *) 0xE002400C))
#define AMR             (*((volatile unsigned char *) 0xE0024010))
#define CTIME0          (*((volatile unsigned long *) 0xE0024014))
#define CTIME1          (*((volatile unsigned long *) 0xE0024018))
#define CTIME2          (*((volatile unsigned long *) 0xE002401C))
#define SEC             (*((volatile unsigned char *) 0xE0024020))
#define MIN             (*((volatile unsigned char *) 0xE0024024))
#define HOUR            (*((volatile unsigned char *) 0xE0024028))
#define DOM             (*((volatile unsigned char *) 0xE002402C))
#define DOW             (*((volatile unsigned char *) 0xE0024030))
#define DOY             (*((volatile unsigned short*) 0xE0024034))
#define MONTH           (*((volatile unsigned char *) 0xE0024038))
#define YEAR            (*((volatile unsigned short*) 0xE002403C))
#define ALSEC           (*((volatile unsigned char *) 0xE0024060))
#define ALMIN           (*((volatile unsigned char *) 0xE0024064))
#define ALHOUR          (*((volatile unsigned char *) 0xE0024068))
#define ALDOM           (*((volatile unsigned char *) 0xE002406C))
#define ALDOW           (*((volatile unsigned char *) 0xE0024070))
#define ALDOY           (*((volatile unsigned short*) 0xE0024074))
#define ALMON           (*((volatile unsigned char *) 0xE0024078))
#define ALYEAR          (*((volatile unsigned short*) 0xE002407C))
#define PREINT          (*((volatile unsigned short*) 0xE0024080))
#define PREFRAC         (*((volatile unsigned short*) 0xE0024084))

/* Watchdog */
/* 看门狗的特殊寄存器 */
#define WDMOD           (*((volatile unsigned char *) 0xE0000000))
#define WDTC            (*((volatile unsigned long *) 0xE0000004))
#define WDFEED          (*((volatile unsigned char *) 0xE0000008))
#define WDTV            (*((volatile unsigned long *) 0xE000000C))

/* Define firmware Functions */
/* 定义固件函数 */
#define rm_init_entry()             ((void (*)())(0x7fffff91))()
#define rm_undef_handler()          ((void (*)())(0x7fffffa0))()
#define rm_prefetchabort_handler()  ((void (*)())(0x7fffffb0))()
#define rm_dataabort_handler()      ((void (*)())(0x7fffffc0))()
#define rm_irqhandler()             ((void (*)())(0x7fffffd0))()
#define rm_irqhandler2()            ((void (*)())(0x7fffffe0))()
#define iap_entry(a, b)             ((void (*)())(0x7ffffff1))(a, b)

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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