interrupt(s)

Newcomers to Astrobe and Oberon are welcome to ask any beginner-level questions here
Locked
alain
Posts: 6
Joined: Tue Jan 04, 2011 9:28 pm

interrupt(s)

Post by alain » Tue Jan 04, 2011 9:44 pm

Hello, nice idea this forum...
question :
I understand that nested interrupt processing is not yet implemented...
but is it possible to interrupt one IRQ with one FIQ ?
if so, It would be nice to get some piece of code exemple
regards
Alain

cfbsoftware
Site Admin
Posts: 493
Joined: Fri Dec 31, 2010 12:30 pm
Contact:

Re: interrupt(s)

Post by cfbsoftware » Wed Jan 05, 2011 5:05 am

The attached demo program IRQFIQ which should run on LPC21xx and LPC22xx targets shows an IRQ being interrupted by an FIQ. It uses Timer0 to generate IRQs and Timer1 to generate FIQs. The IRQ handler stays in an infinite loop which only terminates when it is interrupted by an FIQ. If you need convincing, see what happens when you comment out the following statement in FIQTimerHandler

Code: Select all

inIRQ := FALSE;
Note that you would have to be even more careful than usual with how you code your interrupt handlers. What exactly are you trying to do?
Attachments
IRQFIQ.zip
IRQFIQ.mod: Interrupting an IRQ with an FIQ
(1.27 KiB) Downloaded 1363 times

alain
Posts: 6
Joined: Tue Jan 04, 2011 9:28 pm

Re: interrupt(s)

Post by alain » Wed Jan 05, 2011 9:19 am

Congratulation for your reactivity... I'll study your code carefully
re: what i am trying to do ?: have timekeeping under IRQ and (fugitive) event capture with FIQ
regards
Alain

Locked