📄 sci.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\TIC2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx sci.c C:\WINDOWS\TEMP\sci.if
; dspopt NOT RUN
; C:\TIC2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o C:\WINDOWS\TEMP\sci.if C:\WINDOWS\TEMP\sci.asm C:\WINDOWS\TEMP\sci.tmp
.port
.file "sci.c"
.file "f2407_c.h"
.globl _portFF0F
.globl _portFFFF
.file "sci.c"
.globl _test_sci
.globl _sci_init
.text
.sym _sci_init,_sci_init,32,2,0
.globl _sci_init
.func 13
;>>>> void sci_init(void)
******************************************************
* FUNCTION DEF : _sci_init
******************************************************
_sci_init:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> *SCSR1=*SCSR1|0x0040; /*enable SCI clock*/
LARK AR3,28696
LACK 64
OR *
SACL *
.line 5
;>>>> *SCICCR=0x0017;
LACK 23
ADRK 56
SACL *+
.line 6
;>>>> *SCICTL1=0x0013;
LACK 19
SACL *
.line 7
;>>>> *SCICTL2=0x0003;
LACK 3
ADRK 3
SACL *
.line 8
;>>>> *SCIHBAUD=(BAUD_9600/0x100);
LACK 2
SBRK 2
SACL *+
.line 9
;>>>> *SCILBAUD=(BAUD_9600%0x100);
LACK 8
SACL *
.line 10
;>>>> *SCICTL1=0x0033;
LACK 51
SBRK 2
SACL * ,AR1
EPI0_1:
.line 11
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 23,000000000H,1
.sym _test_sci,_test_sci,46,2,0
.globl _test_sci
.func 26
;>>>> unsigned int test_sci(void)
;>>>> unsigned int data_to_send,data_received;
******************************************************
* FUNCTION DEF : _test_sci
******************************************************
_test_sci:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,3
LAR AR0,*0+
.sym _data_to_send,1,14,1,16
.sym _data_received,2,14,1,16
.line 4
;>>>> sci_init();
CALL _sci_init
.line 5
;>>>> data_to_send=0x0055;
LACK 85
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL * ,AR3
.line 6
;>>>> *SCITXBUF=data_to_send;
LARK AR3,28761
SACL *
L1:
.line 8
;>>>> while((*SCIRXST&0x0040)==0x0000);
LARK AR3,28757
BIT * ,9
BBZ L1
.line 9
;>>>> data_received= *SCIRXBUF;
ADRK 2
LAC * ,AR2
LARK AR2,2
MAR *0+
SACL *
.line 10
;>>>> if(data_received!=0x0055)return(0);
LAC *
SUBK 85
BZ L2
LACK 0
B EPI0_2
L2:
.line 11
;>>>> return(1);
LACK 1
EPI0_2:
.line 12
MAR * ,AR1
SBRK 4
LAR AR0,*-
PSHD *
RET
.endfunc 37,000000000H,3
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -