avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Handling interrupts in assembler - how?


From: Michal Vanka
Subject: Re: [avr-gcc-list] Handling interrupts in assembler - how?
Date: Wed, 17 Sep 2003 11:31:51 +0200

Nice, thanks Artur.

The problem is that if we have the following code:

SIGNAL(SIG_OVERFLOW0)
{
    static uint8_t div=32;
    if(!div--) {
        DoSomething();
        div=32;
    }
}

and the DoSomething() is rather complicaed function, then
avr-gcc pushes all registers used in DoSomething()
in the caller SIGNAL() and we are loosing the MCU cycles.

Can it be somehow optimized?

At first I thought that a small assembler code calling DoSomething()
would handle the job but it would be also interesting to know
if it can be handled in pure C (avr-gcc).

Thanks,
Michal Vanka

http://www.vanka.net

----- Original Message ----- 
From: Artur Lipowski <address@hidden>
To: <address@hidden>
Sent: Wednesday, September 17, 2003 10:38 AM
Subject: Re: [avr-gcc-list] Handling interrupts in assembler - how?


> Michal Vanka wrote:
> 
> > Is there a way to write assembler only interrupt handlers
> > and mix it with winavr c code? Have somebody tried it?
> 
> http://www.avrfreaks.net/Freaks/freakshow.php?action=2&projectid=132
> 
> Regards,
> -- 
> Artur Lipowski (the braggart 8-)
> 
> 
> _______________________________________________
> avr-gcc-list mailing list
> address@hidden
> http://www.avr1.org/mailman/listinfo/avr-gcc-list
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]