📄 can.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 + -