[fpc-devel] AVR embedded Atmega 328p interrupts
Andrew Haines
andrewd207 at aol.com
Sun Nov 29 22:28:59 CET 2015
On 11/29/2015 02:13 PM, Jeppe Johansen wrote:
> Not sure the timer initialization is right, but it looks ok.
>
> One thing you need is the interrupt procedure directive:
>
> procedure TIMER0_overflow; interrupt; public name 'TIMER0_COMPA_ISR';
>
> Otherwise it'll probably reset at some point.
>
> What compiler commandline are you using?
>
ppcrossavr -Tembedded -Pavr -WpATMEGA328P -XPavr- test.lpr
then after compile, a script with:
avrdude -F -vv -p atmega328p -c arduino -P /dev/ttyUSB2 -b57600 -D -U
flash:w:test.hex || echo Failed to upload
> Best Regards,
> Jeppe
>
I added the interrupt keyword with no effect. Also I added interrupt
handlers for TIMER0_COMPB and TIMER0_OVF just in case.
It looks like the default handler enters an infinite loop. Afaict all
unassigned interrupts go to the default handler. Maybe I need to assign
every handler?
procedure Default_IRQ_handler; assembler; nostackframe; public name
'_Default_IRQ_handler';noreturn;
asm
.Lloop:
jmp .Lloop
end;
Regards,
Andrew
More information about the fpc-devel
mailing list