
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
Hi,
I have figured out how to receive bytes from the Console Serial Port
(CD2401 Port 0) on the MVME167 using polling. I am having trouble
trying to send bytes also using polling. Can someone tell me what I
am doing wrong? A listing of my test program is given below. First
I go into a polling loop to check for a transmit IRQ. I then do a
"Pseudo Interrupt" and I then write the byte to the Transmit FIFO.
I then do a Transmit End-of-Interrupt by writing 0 to the TEIOR. I
then pause for the byte to have enough time to send. I then cause a
Bus Error by attempting to read from an unmapped location. The program
executes like expected but no character ('*' in this case) actually
appears out of the serial port.
Thanks
;Wait for Transmit Character IRQ
000000 1039FFF4201E AgainW: MOVE.B ($FFF4201E),D0
000006 02000020 AND.B #$20,D0
00000A 67F4 BEQ.B AgainW
;Pseudo Interrupt Acknowledge
00000C 4A39FFF42025 TST.B ($FFF42025)
;Write the Byte
000012 41F9FFF45080 LEA.L (CD2400),A0
000018 117C002A0078 MOVE.B #$2A,(CDO.TDR,A0)
;End of Write Interrupt
00001E 117C00000005 MOVE.B #$00,(CDO.TEOIR,A0)
;Pause for Send
000024 223C00100000 MOVE.L #$00100000,D1
00002A 5381 Loop: SUBQ.L #1,D1
00002C 66FC BNE.B Loop
00002E 4AB9FFFF0000 TST.L ($FFFF0000)
| <-- __Chronological__ --> | <-- __Thread__ --> |