Texas Instruments TMS320C3x User Manual

Page 423

Advertising
background image

Serial Ports

12-44

Example 12–6. CPU Transfer With Serial Port Transmit Polling Method

* TITLE: CPU TRANSFER WITH SERIAL-PORT TRANSMIT POLLING METHOD
*
.GLOBAL START
.DATA
SOURCE .WORD _ARRAY
.BSS _ARRAY,128 ; DATA ARRAY LOCATED IN .BSS SECTION
; THE UNDERSCORE USED IS JUST TO MAKE IT
; ACCESSIBLE FROM C (OPTIONAL)
SPORT .WORD 808040H ; SERIAL-PORT GLOBAL CONTROL REG ADDRESS
SPRESET .WORD 008C0044 ; SERIAL-PORT RESET
SGCCTRL .WORD 048C0044H ; SERIAL-PORT GLOBAL CONTROL REG INITIALIZATION
SXCTRL .WORD 111H ; SERIAL-PORT TX PORT CONTROL REG INITIALIZA-
TION
STCTRL .WORD 00FH ; SERIAL-PORT TIMER CONTROL REG INITIALIZATION
STPERIOD .WORD 00000002h ; SERIAL-PORT TIMER PERIOD
RESET .WORD 0H ; SERIAL-PORT TIMER RESET VALUE
.TEXT
START LDP RESET ; LOAD DATA PAGE POINTER
ANDN 10H,IE ; DISABLE SERIAL-PORT TRANSMIT INTERRUPT TO CPU

* SERIAL PORT INITIALIZATION
LDI @SPORT,AR1
LDI @RESET,R0
LDI 4,IR0
STI R0,*+AR1(IR0) ; SERIAL-PORT TIMER RESET
LDI @SPRESET,R0
STI R0,*AR1 ; SERIAL-PORT RESET
LDI @SXCTRL,R0 ; SERIAL-PORT TX CONTROL REG INITIALIZATON
STI R0,*+AR1(3)
LDI @STPERIOD,R0 ; SERIAL–PORT TIMER PERIOD INITIALIZATION
STI R0,*+AR1(6)
LDI @STCTRL,R0 ; SERIAL-PORT TIMER CONTROL REG INITIALIZATION
STI R0,*+AR1(4)
LDI @SGCCTRL,R0 ; SERIAL-PORT GLOBAL CONTROL REG INITIALIZATION
STI R0,*AR1

* CPU WRITES THE FIRST WORD

LDI @SOURCE,AR0
LDI *AR0++,R1
STI R1,*+AR1(8)

* CPU WRITES 127 WORDS TO THE SERIAL PORT OUTPUT REG

LDI 8,IR0
LDI 2,R0
LDI 126,RC
RPTB LOOP
WAIT AND *AR1,R0,R2 ; WAIT UNTIL XRDY BIT = 1
BZ WAIT
LOOP STI R1,*+AR1(IR0)
|| LDI *++AR0(1),R1
BU $
.END

Advertising