Hi everybody.
I'm using SH7615. My board uses external interrupt with IRL3 to IRL0 pins, with IRL mode and Auto-Vector Mode Interrupts.
My hardware was setup IRL3: IRL0 = 0101 , that means always has external interrupt with Vector number = 69 and Piority level = 10
My question is how to disable this external interrupt in SH7615, I read datasheet but I couldn't find the register describe this problem?
Best regard.
Just an idea. What happens if you set the priority level in IPRC to 0 and select IRQ mode for the external interrupt pins by writing "1" to EXIMD in ICR register?
Thanks for your idea. I will try it
I read datasheet SH in Interrupt section, but I didn't understand clearly about four bits interrupt request mask I3:I0 of Status Register when handles the interrupt routine.
I think when a interrupt source is accepted, its piority will be copied to I3:I0 of Status Register. After interrupt routine done, value in that 4 bits remain(Is that right? ) . I wonder that, when return to main program, and there is another interrupt that has its piority lower than I3:I0, what will happen? This Interrupt source will be accept or not? And how to clear I3:I0?
Thanks for your attention.
Best regard.
If you look at the interrupt sequence in chapter 5.4.1 you see that the CPU saves the status register SR before the value for the interrupt priority is written to I3:I0. When the interrupt exits it reloads the SR from the stack. So after you exit the interrupt routine you have the same value in I3:I0 as you had before the interrupt occured.
So no problem there.
This is normal after reset to disable all interrupts. The start-up code in resetprg.c calls an initialisation routine set_cr(value), which initialises I3:I0.
©2003–2010 Renesas Electronics Corporation. All rights reserved. Using Our Website | Privacy
Contact us