?? macro.h54
字號:
;******************************************************************************
; SJTU DSP Tech. Center
; Copyright (c) 2002 SJTU DSP Tech. Center. All Rights Reserved.
; History:
; Date Authors Changes
; 2003/08/30 Fu Xuan Created.
;******************************************************************************
.mmregs
;LED0 shines if port_addr is CNTL1(開發實踐P74)
LED0_ON .macro port_addr
portr port_addr, *(AL)
or #0x0001, A ;USERLED0=1
portw *(AL), port_addr
.endm ;end of LED0_ON
;set RRST/XRST to enable McBSP
McBSP1_ENABLE .macro aux_reg
stm #SPSA1, aux_reg ;McBSP1子地址寄存器
st #0, *aux_reg+ ;選中控制寄存器SPCR11
orm #0x0001, *aux_reg- ;/RRST=1接收部分使能
st #1, *aux_reg+ ;選中控制寄存器SPCR21
orm #0x0001, *aux_reg- ;/XRST=1發送部分使能
.endm ;end of McBSP1_ENABLE
;reset RRST/XRST to disable McBSP
McBSP1_DISABLE .macro aux_reg
stm #SPSA1, aux_reg ;McBSP1子地址寄存器
st #0, *aux_reg+ ;選中控制寄存器SPCR11
andm #0xfffe, *aux_reg- ;/RRST=0接收部分復位
st #1, *aux_reg+ ;選中控制寄存器SPCR21
andm #0xfffe, *aux_reg- ;/XRST=0發送部分復位
.endm ;end of McBSP1_DISABLE
;enable channel channel_number of DMA
CHANNEL_ENABLE .macro channel_number
ldm DMPREC, A
or channel_number, A
stlm A, DMPREC
.endm ;end of CHANNEL_ENABLE
;set cntl1 to let 3 LEDs shine, then shuts after a while if port_addr is CNTL1
LEDS_CHECK .macro port_addr
;check LED0, LED1 and LED2
portr port_addr, *(AL)
or #0x0007, A ;USERLED0=USERLED1=USERLED2=1
portw *(AL), port_addr ;LED0、LED1 and LED2 shine
stm #50, AR1
delay_out_loop:
stm #1000, BRC
rptb delay_inner_loop-1
rpt #1000
nop
delay_inner_loop:
banz delay_out_loop, *AR1- ;shine for a while
portr port_addr, *(AL)
and #0xFFF8, A ;USERLED0=USERLED1=USERLED2=0
portw *(AL), port_addr ;LED1、LED2 and LED3 shut
stm #50, AR1
delay_out_loop1:
stm #1000, BRC
rptb delay_inner_loop1-1
rpt #1000
nop
delay_inner_loop1:
banz delay_out_loop1, *AR1- ;shut for a while
.endm ;end of LEDS_CHECK
;end of macro.h54
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -