On Thu, Feb 21, 2013 at 10:30 PM,
<address@hidden> wrote:
Send AVR-chat mailing list submissions to
address@hidden
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.nongnu.org/mailman/listinfo/avr-chat
or, via email, send a message with subject or body 'help' to
address@hidden
You can reach the person managing the list at
address@hidden
When replying, please edit your Subject line so it is more specific
than "Re: Contents of AVR-chat digest..."
Today's Topics:
1. Re: Any way to friend an interrupt handler? (Rick Mann)
----------------------------------------------------------------------
Message: 1
Date: Wed, 20 Feb 2013 13:24:20 -0800
From: Rick Mann <address@hidden>
To: David Brown <address@hidden>
Cc: address@hidden
Subject: Re: [avr-chat] Any way to friend an interrupt handler?
Message-ID: <address@hidden>
Content-Type: text/plain; charset=us-ascii
On Feb 20, 2013, at 2:08 , David Brown <address@hidden> wrote:
> Another option that might be usable (depending on how things are split
> within different modules) is to make the ISR just a wrapper for the
> "real" code:
>
> class x {
> friend void ::timerInterrupt(void);
> private :
> int i;
> };
>
> class x the_x;
>
> static void timerInterrupt(void) {
> the_x.i++;
> }
>
> ISR(TIMER1_OVF_vect) {
> timerInterrupt();
> }
>
>
> With non-negligible optimisations enabled, the static timerInterrupt
> function will be inlined within the ISR function, so there is no extra
> overhead. (Normally there can be significant overhead if an interrupt
> function calls an external function.)
>
> Just a thought for another style.
Yeah, that's how I had been doing it, but I wanted to ensure I didn't have the overhead in this case, even when no optimizations were used.
--
Rick
------------------------------
_______________________________________________
AVR-chat mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/avr-chat
End of AVR-chat Digest, Vol 95, Issue 13
****************************************