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

📄 can.asm

📁 2407例程.rar
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx can.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\can.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\can.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\can.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\can.tmp 
	.port
	.file	"can.c"
	.file	"f2407_c.h"
	.globl	_portFF0F
	.globl	_portFFFF
	.file	"can.c"
	.globl	_port40
	.globl	_test_can
	.text

	.sym	_can_init,_can_init,32,2,0
	.globl	_can_init

	.func	10
;>>>> 	void can_init(void)
******************************************************
* FUNCTION DEF : _can_init
******************************************************
_can_init:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	3
;>>>> 		 *CAN_IFR=0xffff;
	LARK	AR3,28937
	SPLK	#65535,* 
	.line	7
;>>>> 		 *MCR=0x1000;
	SBRK	6
	SPLK	#4096,* 
L1:
	.line	9
;>>>> 		 while(((*GSR)&0x0010)!=0x0010); 	/*if CCE=0 then wait*/
	LARK	AR3,28935
	LACK	16
	AND	* 
	SUBK	16
	BNZ	L1
	.line	10
;>>>> 		 *BCR1=0x0023/*0x01ab*/;
	LACK	35
	SBRK	2
	SACL	*-
	.line	11
;>>>> 		 *BCR2=0x0003;		/*can clk=1Mhz, 10 TQs*/ 
	LACK	3
	SACL	*-
	.line	12
;>>>> 		 *MCR=(*MCR)&0xefff;          /*CCR=0;*/
	LACK	61439
	AND	* 
	SACL	* 
L2:
	.line	13
;>>>> 		 while(((*GSR)&0x0010)==0x0010);  /*if CCE=1 then wait*/  
	LARK	AR3,28935
	LACK	16
	AND	* 
	SUBK	16
	BZ	L2
	.line	17
;>>>> 		 *MDER=0xff80;	/*box0-5 disabled*/ 
	SBRK	7
	SPLK	#65408,* 
	.line	20
;>>>> 		 *MCR=(*MCR)|0x0100;		/*set CDR=1*/ 
	LACK	256
	ADRK	3
	OR	* 
	SACL	* ,AR4
	.line	22
;>>>> 		 *MSGID4H=0x0555;
	LARK	AR4,29217
	SPLK	#1365,*-
	.line	23
;>>>> 		 *MSGID4L=0xaaaa;		/*mailbox4 send*/
	SPLK	#43690,* 
	.line	24
;>>>> 		 *MSGCTRL4=0x0008;		/*8 byte data */
	LACK	8
	ADRK	2
	SACL	* 
	.line	25
;>>>> 		 *MBX4A=0x2222;
	ADRK	2
	SPLK	#8738,*+
	.line	26
;>>>> 		 *MBX4B=0x5555;
	SPLK	#21845,*+
	.line	27
;>>>> 		 *MBX4C=0xaaaa;
	SPLK	#43690,*+
	.line	28
;>>>> 		 *MBX4D=0xeeee;
	SPLK	#61166,* ,AR3
	.line	35
;>>>> 		 *MCR=(*MCR)&0xfeff;  	/*CDR=0;*/
	LACK	65279
	AND	* 
	SACL	* ,AR1
EPI0_1:
	.line	38
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	47,000000000H,1

	.sym	_test_can,_test_can,46,2,0
	.globl	_test_can

	.func	51
;>>>> 	unsigned int test_can(void)
;>>>> 		 unsigned int data_rec;
******************************************************
* FUNCTION DEF : _test_can
******************************************************
_test_can:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,2
	LAR	AR0,*0+

	.sym	_data_rec,1,14,1,16
	.line	4
;>>>> 		 can_init();
	CALL	_can_init
	.line	6
;>>>> 		 *MDER=(*MDER)|0x0010;		/*enable mailbox4*/
;>>>> 		 while(1)
	LARK	AR3,28928
	LACK	16
	MAR	* ,AR3
	OR	* 
	SACL	* 
L3:
	.line	10
;>>>> 		 *TCR=(*TCR)|0x0040;			/*TRS4=1*/
	LARK	AR3,28929
	LACK	64
	OR	* 
	SACL	* 
L5:
	.line	12
;>>>> 		  while(((*TCR)&0x4000)!=0x4000);  	/*if TA4=0 then wait*/
	LARK	AR3,28929
	LACK	16384
	AND	* 
	SUBK	16384
	BNZ	L5
	.line	13
;>>>> 		 *TCR=(*TCR)|0x4000;			/*set TA4=1*/ 
	LACK	16384
	OR	* 
	SACL	* 
	.line	15
	B	L3
	.line	18
;>>>> 			 return(1);
EPI0_2:
	.line	19

	.endfunc	69,000000000H,2
	.end

⌨️ 快捷键说明

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