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

📄 f243qep1.asm

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\TIC2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx -q f243qep1.c C:\WINDOWS\TEMP\f243qep1.if 
;	dspopt NOT RUN
;	C:\TIC2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -v2xx -o -q -o C:\WINDOWS\TEMP\f243qep1.if C:\WINDOWS\TEMP\f243qep1.asm C:\WINDOWS\TEMP\f243qep1.tmp 
	.port
	.file	"f243qep1.c"
	.file	"..\include\regs24x.h"
	.globl	_portffff
	.globl	_port0
	.globl	_port1
	.globl	_port2
	.globl	_port3
	.globl	_port4
	.file	"..\include\F243_QEP.h"

	.stag	.fake0,208
	.member	_theta_elec,0,4,8,16
	.member	_theta_mech,16,4,8,16
	.member	_QepDir,32,4,8,16
	.member	_dwn_cnt_offset,48,4,8,16
	.member	_theta_raw,64,4,8,16
	.member	_mech_scaler,80,4,8,16
	.member	_pole_pairs,96,4,8,16
	.member	_rev_counter,112,4,8,16
	.member	_pulse_count,128,4,8,16
	.member	_index_flag,144,4,8,16
	.member	_calc,160,148,8,16
	.member	_init,176,148,8,16
	.member	_indexevent,192,148,8,16
	.eos
	.sym	_QEP,0,8,13,208,.fake0
	.globl	_F243_QEP_Init
	.globl	_F243_qep_theta_calc
	.globl	_F243_QEP_Index_Handle
	.file	"f243qep1.c"
	.text

	.sym	_F243_QEP_Init,_F243_QEP_Init,36,2,0
	.globl	_F243_QEP_Init

	.func	36
;>>>> 	int inline F243_QEP_Init(QEP *p)
******************************************************
* FUNCTION DEF : _F243_QEP_Init
******************************************************
_F243_QEP_Init:

LF1	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.sym	_p,-3+LF1,24,9,16,.fake0
	.line	2
	.line	3
;>>>> 	         CAPCON=CAP_INIT_STATE;           /* Set up capture units */
	LARK	AR3,29728
	SPLK	#-4028,* 
	.line	4
;>>>> 	        T2CON= TIMER_INIT_STATE;         /* Set up capture timer */
	SBRK	24
	SPLK	#-26512,*-
	.line	5
;>>>> 	        T2PR=0xffff;       
	SPLK	#-1,* 
	.line	6
;>>>> 	        EVIFRC=0xffff;                         /* Clear all IFRC flags */
	ADRK	42
	SPLK	#-1,* 
	.line	7
;>>>> 	        EVIMRC=0x4;                         /* Enable CAP3 Interrupt */
	LACK	4
	SBRK	3
	SACL	* ,AR4
	.line	8
;>>>> 	        OCRA=OCRA|0x38;        /* Set up the capture pins to primary functions */
	LARK	AR4,28816
	LACK	56
	OR	* 
	SACL	* ,AR1
EPI0_1:
	.line	9
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	44,000000000H,1

	.sym	_F243_QEP_Index_Handle,_F243_QEP_Index_Handle,36,2,0
	.globl	_F243_QEP_Index_Handle

	.func	46
;>>>> 	int inline F243_QEP_Index_Handle(QEP *p)
******************************************************
* FUNCTION DEF : _F243_QEP_Index_Handle
******************************************************
_F243_QEP_Index_Handle:

LF2	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR2

	.sym	_p,-3+LF2,24,9,16,.fake0
	.line	2
	.line	3
;>>>> 	        p->pulse_count=T2CNT;
	LARK	AR2,-3+LF2
	MAR	*0+
	LAR	AR3,* ,AR4
	LARK	AR4,29701
	LAC	* ,AR3
	ADRK	8
	SACL	*+,AR4
	.line	4
;>>>> 	        T2CNT=0;
	LACK	0
	SACL	* ,AR3
	.line	5
;>>>> 	        p->index_flag=0xf;
	LACK	15
	SACL	* ,AR2
	.line	7
;>>>> 	        p->rev_counter+=p->QepDir;
	LAR	AR5,* ,AR5
	ADRK	7
	LAC	* ,AR3
	SBRK	7
	ADD	* ,AR5
	SACL	* ,AR4
	.line	10
;>>>> 	        EVIFRC|=0x08;                   /* Clear IFRC flag for CAP3 INT */
	ADRK	44
	LACK	8
	OR	* 
	SACL	* ,AR1
EPI0_2:
	.line	13
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	58,000000000H,1
	.end

⌨️ 快捷键说明

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