📄 spifile.asm
字号:
************************************************************************************
*
************************************************************************************
.file "spifile.asm"
.c_mode
.copy "vc5402.inc"
.def _init_spi
.def _mcbsp1_xrdy
.def _mcbsp1_rrdy
.text
*********************************************************************************
* filename: _init_spi
* 输入: 无
* 输出: 无
*********************************************************************************
_init_spi:
STM #SPCR1x,SPSA1
LDM SPSD1,A
AND #0FFFEh,A
STLM A,SPSD1
STM #SPCR2x,SPSA1
LDM SPSD1,A
AND #0FFFEh,A
STLM A,SPSD1
STM #SPCR1x,SPSA1
LDM SPSD1,A
OR #1800h,A
STLM A,SPSD1 ;
STM #XCR1x,SPSA1
STM #40h,SPSD1 ;16BIT
STM #XCR2x,SPSA1
STM #1h,SPSD1 ;1个延时
STM #RCR1x,SPSA1
STM #40h,SPSD1 ;16BIT
STM #RCR2x,SPSA1
STM #1h,SPSD1 ;1个延时
STM #PCRx,SPSA1
STM #0a08h,SPSD1 ;清零
STM #SRGR1x,SPSA1
STM #0Ffffh,SPSD1 ;最大分频
STM #SRGR2x,SPSA1
STM #2000h,SPSD1
NOP ;延时2个周期
NOP
STM #SPCR2x,SPSA1
LDM SPSD1,A
OR #40h,A
STLM A,SPSD1 ;
nop
nop
STM #SPCR1x,SPSA1
LDM SPSD1,A
OR #1h,A
STLM A,SPSD1
STM #SPCR2x,SPSA1
LDM SPSD1,A
OR #1h,A
STLM A,SPSD1
NOP
NOP
RET
*********************************************************************************
* filename: _mcbsp1_xrdy
* 输入: 无
* 输出: A 1:发送空
* 0:发送忙
*********************************************************************************
_mcbsp1_xrdy:
STM #SPCR2x,SPSA1
LDM SPSD1,A
AND #2h,A
BC T1,ANEQ
LD #0h,A
RET
T1:
LD #1,A
RET
*********************************************************************************
* filename: _mcbsp1_rrdy
* 输入: 无
* 输出: A 1:接收准备好
* 0:接收忙
*********************************************************************************
_mcbsp1_rrdy:
STM #SPCR1x,SPSA1
LDM SPSD1,A
AND #2h,A
BC T2,ANEQ
LD #0h,A
RET
T2:
LD #1,A
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -