xIRQ

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

xIRQ

1,971 Views
vinay
Contributor I
hi...
 
                  While working on s12x series i came to know that for enabling xIRQ interrupt X bit in CCR should be enabled/disabled. i try to implement it but as soon as i get a pulse on xIRQ pin my preocessor stop running. it gives illigal BP pointer message. i just on/off one PORT pin.my  interrupt routine is like this
PORTE=0x00;
 
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt  5  void xIRQ_Ext_pulses(void)
 {
    PORTB_PB3=~PORTB_PB3;
   
 }
#pragma CODE_SEG DEFAULT 
 
plz tell me where am i rong? if yes how to enable it ??
 
thanks
vinay
Labels (1)
0 Kudos
Reply
1 Reply

638 Views
MJW
NXP Employee
NXP Employee
Hello vinay,

The XIRQ pin is level-sensitive. It produces an interrupt request as long as you keep it low. For using this as a regular interrupt pin, there needs to be some kind of handshake taking place between the external hardware which asserts/de-asserts the signal on the XIRQ pin and the software (= the XIRQ ISR).
If the interrupt is de-asserted before the XIRQ ISR is entered, you get either nothing (i.e. the event is lost) or you get a spurious interrupt (i.e. the vector address is unknown by the time the CPU starts interrupt processing).

The same applies to the IRQ pin, in level-sensitive mode.

So, just putting "pulses" on the XIRQ pin is not going to work reliably.

HTH,
MJW
0 Kudos
Reply