Hi, I try to use the BREAK module on a 68HC908KX8. On my first compare, the software go inside the SWI isr, no problem. Inside my SWI isr, I send some bytes by the SCI, and I've received a special byte to exit the isr (with a RTI). My software return in the main loop, but never return inside the SWI isr at the next match between the register BRK and the internal address bus (the bit BRKA is clear in the SWI isr)... Any ideas ? Regards, -- --- Yvan http://www.ybdesign.fr
BREAK module on a 68HC908
Started by ●January 5, 2005
Reply by ●January 5, 20052005-01-05
Yvan BOURNE wrote:> Hi, > I try to use the BREAK module on a 68HC908KX8. > > On my first compare, the software go inside the SWI isr, no problem. > > Inside my SWI isr, I send some bytes by the SCI, and I've received aspecial> byte to exit the isr (with a RTI). > > My software return in the main loop, but never return inside the SWIisr at> the next match between the register BRK and the internal address bus(the> bit BRKA is clear in the SWI isr)... > > Any ideas ? > > Regards, > > -- > --- > > Yvan > http://www.ybdesign.fr
Reply by ●January 5, 20052005-01-05
Hi, I don't know your processor but an ISR firing only the once sound like you need to acknowledge the interrupt. I assume BRKA is Break address which clearly would be clear once inside the ISR ! This bit will feed into another part of the chip though which will have latched the interrupt condition, the interrupt controller. The interrupt arbitration logic area of the chip would prioritise interrupts, a break would be more important than a timer for example. It is usual to latch the condition as you may for example already be in an interrupt handler and cannot service straight away. When you exit the pending interrupt takes over. You will need to tell the interrupt controller (arbitration logic) that your done. The interrupt controller will not fire your ISR until you do this for obvious reasons. I doubt that RTI will acknowledge, usually RTI pops return address and CPU flags but does not acknowledge. I don't know your system though. Yvan BOURNE wrote:> Hi, > I try to use the BREAK module on a 68HC908KX8. > > On my first compare, the software go inside the SWI isr, no problem. > > Inside my SWI isr, I send some bytes by the SCI, and I've received aspecial> byte to exit the isr (with a RTI). > > My software return in the main loop, but never return inside the SWIisr at> the next match between the register BRK and the internal address bus(the> bit BRKA is clear in the SWI isr)... > > Any ideas ? > > Regards, > > -- > --- > > Yvan > http://www.ybdesign.fr