?? lpc2106.h
字號:
#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 + -