I realize this a very specific 'hardware' question but I am not sure who
else to ask. I am trying to use the UART of the MC68EZ328 and have not been
able to get anything out on the TXD pin and the tX available status is never
set. The following is the 68000 code (generated by a C compiler). Is there
something I have done incorrect or have I missed something altogether.
MOVEA.L 0xFFFFF900,A0
MOVE.W #0xC000,(A0) ;* USTCT = USTCNT_UARTEN | USTCNT_RXEN
MOVE.W (A0),D7 ;* read USTCT to initialize FIFO
MOVE.W #0xE100,(A0) ;* USTCT = USTCNT_UARTEN | USTCNT_RXEN
; | USTCNT_TXEN | USTCNT_8_7
MOVE.W #0x0226,0xFFFFF902.W ;* set for 9600 baud
MOVE.B #8,0xFFFFF906.W ;* ignore CTS
MOVE.L #0x71FFF9,0xFFFFF304.W ;* do not mask IRQ6,3,2, UART, or TMR
ANDI.W #$F0FF,SR ;* enable interrupts
MOVE.B #0x08,0xFFFFF420 ; using bit 3 for output
MOVE.B #0x08,0xFFFFF423 ; use chip function except for bit 3
CLR.B 0xFFFFF422.W ; do not pull down
CLR.B 0xFFFFF421.W ; data initialized to zero
LOOP:
MOVE.B #0x5A,0xFFFFF907 ; write a 'Z' out to the TXD forever
BRA.B LOOP
Brandt
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/