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

📄 register.h

📁 dsp常用例程UCOS程序源代码 基于TIDSP
💻 H
字号:

/**************************************************************
; File Name  : register.h
; Originator :	Texas Instrument-Chongqing University DSPs Lab.
; Description:	F240 Peripheral Registers + other useful definitions	
;**************************************************************/
/*--------------------------------------------------------------
; 片内外围寄存器定义
;--------------------------------------------------------------*/
/*C2xx 内核寄存器
;~~~~~~~~~~~~~~~~~~~~*/
#define   IMR    (volatile unsigned int   *) 0x0004 
/*中断屏蔽寄存器*/
#define   GREG   (volatile unsigned int   *) 0x0005  
/*全局变量定位寄存器*/	
#define   IFR  (volatile unsigned int   *) 0x0006  
/*中断标志寄存器*/                                            

ioport   unsigned portFFFF; 	
#define  WSGR	  portFFFF
/*系统模块寄存器						
;~~~~~~~~~~~~~~~~~~~~~~~*/						

#define     SYSCR 	  (volatile unsigned int   *) 0x7018 
/* 系统控制和状态寄存器1*/
#define     SYSSR 	  (volatile unsigned int   *) 0x701A 
/* 系统控制和状态寄存器2*/
#define     SYSIVR   (volatile unsigned int   *) 0x701E 
/* 外围中断向量寄存器*/
/*看门狗/ 实时中断(RTI*)  锁相环 (PLL*)  寄存器
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define    RTICNTR   (volatile unsigned int   *) 0x7021 
/*实时中断计数寄存器*/
#define     WDCNTR   (volatile unsigned int   *) 0x7023 
/*看门狗计数寄存器*/
#define     WDKEY  (volatile unsigned int   *) 0x7025 	

/* 看门狗 Key 寄存器*/
#define    RTICR   (volatile unsigned int   *) 0x7027 
/*实时中断控制寄存器*/
#define     WDCR 	  (volatile unsigned int   *) 0x7029 
/* 看门狗控制寄存器*/ 
#define    CKCR0   (volatile unsigned int   *) 0x702B 
#define    CKCR1   (volatile unsigned int   *) 0x702D 
/*外围串行接口(SPI*) 寄存器
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define     SPICCR   (volatile unsigned int   *) 0x7040 
/* SPI配置控制寄存器1*/
#define     SPICTL   (volatile unsigned int   *) 0x7041 
/* SPI 运行控制寄存器2*/
#define     SPISTS 	  (volatile unsigned int   *) 0x7042 
/* SPI 状态寄存器*/
#define     SPIBRR 	  (volatile unsigned int   *) 0x7044 
/* SPI 波特率控制寄存器*/
#define     SPIEMU 	  (volatile unsigned int   *) 0x7046 
/* SPI 仿真缓冲寄存器*/
#define     SPIRXBUF	  (volatile unsigned int   *) 0x7047 
/* SPI 串行输入缓冲寄存器*/
#define     SPITXBUF	  (volatile unsigned int   *) 0x7048 
/* SPI 串行输出缓冲寄存器*/
#define     SPIDAT 	  (volatile unsigned int   *) 0x7049 
/* SPI 串行数据寄存器*/
#define     SPIPC1 	  (volatile unsigned int   *) 0x704D 
/* SPI 端口控制寄存器1*/
#define     SPIPC2 	  (volatile unsigned int   *) 0x704E 
/* SPI端口控制寄存器2*/
#define     SPIPRI 	  (volatile unsigned int   *) 0x704F 
/* SPI 优先级控制寄存器*/
/* 串行通信接口寄存器
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define     SCICCR  (volatile unsigned int  *) 0x7050 
/* SCI 通讯控制寄存器*/
#define     SCICTL1 	  (volatile unsigned int   *) 0x7051 
/* SCI 控制寄存器1*/
#define     SCIHBAUD	  (volatile unsigned int   *) 0x7052 
/* SCI 波特率控制寄存器高位*/
#define     SCILBAUD	  (volatile unsigned int   *) 0x7053 
/* SCI 波特率控制寄存器低位*/
#define     SCICTL2 	  (volatile unsigned int   *) 0x7054 
/* SCI 控制寄存器2*/
#define     SCIRXST 	  (volatile unsigned int   *) 0x7055 
/* SCI 接收状态寄存器*/
#define     SCIRXEMU	  (volatile unsigned int   *) 0x7056 
/* SCI EMU 数据缓冲寄存器*/
#define     SCIRXBUF  (volatile unsigned int   *) 0x7057 
/* SCI 接收数据缓冲寄存器*/
#define     SCITXBUF  (volatile unsigned int   *) 0x7059 
/* SCI发送数据缓冲寄存器*/
#define    SCIPC2   (volatile unsigned int   *) 0x705E 
#define     SCIPRI   (volatile unsigned int   *) 0x705F 	
/* SCI 优先级控制寄存器*/
/* 外围中断配置寄存器
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define     XINT1CR 	  (volatile unsigned int   *) 0x7070 
/* Int1 配置寄存器*/
#define    NMICR      (volatile unsigned int   *) 0x7072 
#define     XINT2CR 	  (volatile unsigned int   *) 0x7078 	
/* Int2 配置寄存器*/
#define    XINT3CR    (volatile unsigned int   *) 0x707A 
/* 数字 I/O 控制寄存器。
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define     OCRA 	  (volatile unsigned int   *) 0x7090 	
/* I/O 复用控制寄存器A*/ 
#define     OCRB 	  (volatile unsigned int   *) 0x7092 
/* I/O 复用控制寄存器B*/

#define     PADATDIR     (volatile unsigned int   *) 0x7098 
/* I/O 端口 A 数据和方向控制寄存器*/ 
#define     PBDATDIR	  (volatile unsigned int   *) 0x709A 
/* I/O 端口 B 数据和方向控制寄存器*/
#define     PCDATDIR	  (volatile unsigned int   *) 0x709C 
/* I/O 端口 C 数据和方向控制寄存器*/

/*ADC 寄存器定义
;--------------------------------------------------------------*/
#define      ADCTRL1 	  (volatile unsigned int   *) 0x7032 
/* ADC控制寄存器1*/
#define      ADCTRL2 	  (volatile unsigned int   *) 0x7034 
/* ADC控制寄存器2*/ 
#define    ADCFIFO1   (volatile unsigned int   *) 0x7036 
#define    ADCFIFO2   (volatile unsigned int   *) 0x7038 

/*事件管理器 (EV*) 事件管理器 A (EVA*)  寄存器
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define     GPTCON      (volatile unsigned int   *) 0x7400 
/* 通用定时器控制寄存器*/
#define     T1CNT 	  (volatile unsigned int   *)  0x7401 	
/* T1 计数器*/
#define     T1CMPR 	  (volatile unsigned int   *) 0x7402 
/* T1 比较值寄存器*/
#define     T1PR 	  (volatile unsigned int   *) 0x7403 	
/* T1 周期寄存器*/
#define     T1CON 	  (volatile unsigned int   *) 0x7404 
/* T1 控制寄存器*/
#define     T2CNT 	  (volatile unsigned int   *) 0x7405 	
/* T2 计数器*/
#define     T2CMPR 	  (volatile unsigned int   *) 0x7406 
/* T2 比较值寄存器*/
#define     T2PR 	  (volatile unsigned int   *) 0x7407 	
/* T2 周期寄存器*/
#define     T2CON 	  (volatile unsigned int   *) 0x7408 
/* T2 控制寄存器*/
#define    T3CNT   (volatile unsigned int   *) 0x7409 
#define    T3CMPR   (volatile unsigned int   *) 0x740A 
#define    T3PR   (volatile unsigned int   *) 0x740B 
#define    T3CON   (volatile unsigned int   *) 0x740C 
#define     COMCON 	  (volatile unsigned int   *) 0x7411 	
/* 比较控制寄存器*/
#define     ACTR 	  (volatile unsigned int   *) 0x7413 	
/* 比较输出动作控制寄存器*/
#define    SACTR   (volatile unsigned int   *) 0x7414 
#define     DBTCON	  (volatile unsigned int   *) 0x7415 
/* 死区控制寄存器*/
#define    CMPR1 	  (volatile unsigned int   *) 0x7417 
/* 比较值1*/
#define    CMPR2 	  (volatile unsigned int   *) 0x7418 
/* 比较值2*/
#define    CMPR3 	  (volatile unsigned int   *) 0x7419 
/* 比较值3*/
#define    SCMPR1   (volatile unsigned int   *) 0x741A 
#define    SCMPR2   (volatile unsigned int   *) 0x741B 
#define    SCMPR3   (volatile unsigned int   *) 0x741C 
#define    CAPCON 	  (volatile unsigned int   *) 0x7420 	
/* 捕捉控制寄存器*/
#define    CAPFIFO	  (volatile unsigned int   *) 0x7422 	
/* 捕捉 FIFO A 状态寄存器*/
#define    CAP1FIFO	  (volatile unsigned int   *) 0x7423 	
/* 捕捉1 FIFO 顶部*/
#define    CAP2FIFO	  (volatile unsigned int   *) 0x7424 	
/* 捕捉 2 FIFO 顶部*/
#define    CAP3FIFO	  (volatile unsigned int   *) 0x7425 	
/* 捕捉 3 FIFO 顶部*/
#define    CAP4FIFO   (volatile unsigned int   *) 0x7426 

#define    EVIMRA	  (volatile unsigned int   *) 0x742C 	
/* EVA 中断屏蔽寄存器 A*/
#define    EVIMRB	  (volatile unsigned int   *) 0x742D 	
/* EVA中断屏蔽寄存器 B*/
#define    EVIMRC	  (volatile unsigned int   *) 0x742E 	
/* EVA 中断屏蔽寄存器 C*/
#define     EVIFRA	  (volatile unsigned int   *) 0x742F 	
/* EVA中断标志寄存器 A*/
#define     EVIFRB	  (volatile unsigned int   *) 0x7430 	
/* EVA 中断标志寄存器 B*/
#define     EVIFRC	  (volatile unsigned int   *) 0x7431 	
/* EVA中断标志寄存器 C*/
#define    EVIVRA   (volatile unsigned int   *) 0x7432 
#define    EVIVRB   (volatile unsigned int   *) 0x7433 
#define    EVIVRC   (volatile unsigned int   *) 0x7434 
/*FLASH MODULE REGISTERS(MAPPED INTO PROGRAM SPACE*) 

-----------------------------------------------------------------------------*/
#define    SEG_CTR   (volatile unsigned int   *) 0x0000 
/*FLASH SEGMENT CONTROL REGISTER*/
#define    WADRS   (volatile unsigned int   *) 0x0002 
/*FLASH WRITE ADDRESS REGISTER*/
#define    WDATA   (volatile unsigned int   *) 0x0003 
/*FLASH WRITE DATA REGISTER*
;常量的定义
;-----------------------------------------------------------------------------
;数据空间
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define		B2_SADDR	0x0060	/*块 B2 的开始地址*/
#define		B2_EADDR	0x007F	/*块 B2 的结束地址*/
#define		B0_SADDR	0x0200	/*块 B0 的开始地址*/
#define		B0_EADDR	0x02FF	/*块 B0 的结束地址*/
#define		B1_SADDR	0x0300	/*块 B1 的开始地址*/
#define		B1_EADDR	0x03FF	/*块 B1 的结束地址*/
#define		SARAM		0x0800	/*SARAM 的开始地址(0800h-0FFFh*) */
#define		EXTDATA		0x8000	/*外部的数据空间的开始地址*/
/*经常用到的数据页
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define		DP_B2		0	/*页 0  数据空间*/
#define		DP_B01		4	/*页 4  B0(200H/80H*) */	
#define		DP_B02		5	/*页 5  B0(280H/80H*) */	
#define		DP_B11		6	/*页 6  B1(300H/80H*) */	
#define		DP_B12		7	/*页 7  B1(380H/80H*) */
#define		DP_SARAM1    16	/*页 16 SARAM(800H/80H*) */
#define		DP_PF1	     224     /*页1 外设帧文件 (7000h/80h*) (0XE0*) */
#define		DP_PF2	     225    /*页 2 外设帧文件 (7080h/80h*) (0XE1*) */
#define		DP_PF3	     226    /*页 3 外设帧文件 (7100h/80h*) (0XE2*) */

#define		DP_EV	     232	/*EVA 寄存器文件 (7400h/80h*) (0XE8*) */

/*位测试指令的位代码(BIT*) 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define		BIT15		0	/*位代码 15*/
#define		BIT14		1	/*位代码14*/
#define		BIT13		2	/*位代码13*/
#define		BIT12		3	/*位代码12*/
#define		BIT11		4	/*位代码11*/
#define		BIT10		5	/*位代码10*/
#define		BIT9		6	/*位代码9*/
#define		BIT8		7	/*位代码8*/
#define		BIT7		8	/*位代码7*/
#define		BIT6		9	/*位代码6*/
#define		BIT5		10	/*位代码5*/
#define		BIT4		11	/*位代码4*/
#define		BIT3		12	/*位代码3*/
#define		BIT2		13	/*位代码2*/
#define		BIT1		14	/*位代码1*/
#define		BIT0		15	/*位代码0*/
/*用SBIT0和SBIT1宏屏蔽位
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define		B15_MSK		0x8000	/*位屏蔽15*/
#define		B14_MSK		0x4000	/*位屏蔽14*/
#define		B13_MSK		0x2000	/*位屏蔽13*/
#define		B12_MSK		0x1000	/*位屏蔽12*/
#define		B11_MSK		0x0800	/*位屏蔽11*/
#define		B10_MSK		0x0400	/*位屏蔽10*/
#define		B9_MSK		0x0200	/*位屏蔽9*/
#define		B8_MSK		0x0100	/*位屏蔽8*/
#define		B7_MSK		0x0080	/*位屏蔽7*/
#define		B6_MSK		0x0040	/*位屏蔽6*/
#define		B5_MSK		0x0020	/*位屏蔽5*/
#define		B4_MSK		0x0010	/*位屏蔽4*/
#define		B3_MSK		0x0008	/*位屏蔽3*/
#define		B2_MSK		0x0004	/*位屏蔽2*/
#define		B1_MSK		0x0002	/*位屏蔽1*/
#define		B0_MSK		0x0001	/*位屏蔽0*/
/*看门狗定时器复位字符串 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define		wd_rst_1	0x0055
#define		wd_rst_2	0x00AA
/*以下为用户自行定义的变量
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

⌨️ 快捷键说明

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