Hopefully, some of you could help me on this. I am trying to
communicate my EZLAB (ADDS-21065-EZLITE) to my host PC, via the
serial port. All of this is being done with an emulator (I
am "discarding" the Monitor, for using the UART).
Finally, I figured out how to interface de onboard UART (PC16550). I
am sure I set it up in the right way because when I loop back the
deceived data within an infinite loop, like this:
I get Hyperterminal filled with the last letter sent.
However, if I try to do it within an ISR for IRQ0, I get nothing. I
put breakpoints for the ISR of IRQ2, IRQ1 and IRQ0, and set the
interrupts like this:
bit set MODE2 IRQ0E | IRQ1E | IRQ2E; // Make IRQs edge sensitive
bit set IMASK IRQ0I | IRQ1I | IRQ2I; // Enable IRQs Interrupt (UART)
r0 = 0;
IRPTL = r0; // Clear any pending interrupt
bit set MODE1 IRPTEN; // Enable interrupts
If I press the buttons for IRQ2, IRQ1 and IRQ0, it jumps to the
breakpoints for each ISR of IRQ2 or IRQ1 respectively, but NEVER
jumps to the corresponding one for IRQ0.
The only conclusion I can draw is that IRQ0 is malfunctioning, but I
cant imagine why, and how to fix it.
The stangest part is that if I come back to using the Monitor, it
works flawlessly!!!!!
Please, I look forward to having your kind help.
Best regards,
JaaC
Reply by Jaime Andres Aranguren Cardona●January 20, 20032003-01-20
Got it fixed. Was just matter of unplugging the socketed EPROM.
Hopefully, some of you could help me on this. I am
trying to communicate my EZLAB (ADDS-21065-EZLITE) to my host PC, via the
serial port. All of this is being done with an emulator (I am
"discarding" the Monitor, for using the UART).
Finally, I figured out
how to interface de onboard UART (PC16550). I am sure I set it up in the
right way because when I loop back the deceived data within an infinite
loop, like this:
I get Hyperterminal filled
with the last letter sent.
However, if I try to do it within an ISR
for IRQ0, I get nothing. I put breakpoints for the ISR of IRQ2, IRQ1 and
IRQ0, and set the interrupts like this:
bit set MODE2 IRQ0E |
IRQ1E | IRQ2E; // Make IRQs edge sensitive bit set IMASK IRQ0I | IRQ1I |
IRQ2I; // Enable IRQs Interrupt (UART) r0 = 0; IRPTL = r0; // Clear
any pending interrupt bit set MODE1 IRPTEN; // Enable interrupts
If I press the buttons for IRQ2, IRQ1 and IRQ0, it jumps to the breakpoints for each ISR of IRQ2 or IRQ1 respectively, but NEVER jumps
to the corresponding one for IRQ0.
The only conclusion I can draw is
that IRQ0 is malfunctioning, but I cant imagine why, and how to fix it.
The stangest part is that if I come back to using the Monitor, it works flawlessly!!!!!
Please, I look forward to having your kind
help.
Best regards,
JaaC _____________________________________ Note: If you do a simple "reply"
with your email client, only the author of this message will receive your
answer. You need to do a "reply all" if you want your answer to be distributed
to the entire group.
_____________________________________ About
this discussion group: