Hi,
möchte einen TWI slave mit WinAVR programmieren
weiß allerdings nicht wie ich die isr definieren soll
im AN311 von ATMEL stand:
#pragma vector=TWI_vect
__interrupt void TWI_ISR( void )
Da ging aber schon das pragma nicht. Muss ich vielleicht pragma irgendwie erst zulassen?
Habe deshalb
INTERRUPT(SIG_2WIRE_SERIAL)
{
...
}
probiert.
Hier sagt der Compiler:
Compiling: TWI_slave.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=TWI_slave.lst -std=gnu99 TWI_slave.c -o TWI_slave.o
TWI_slave.c:149: warning: return type defaults to `int'
TWI_slave.c:149: warning: function declaration isn't a prototype
TWI_slave.c: In function `INTERRUPT':
TWI_slave.c:149: warning: type of "__vector_19" defaults to "int"
TWI_slave.c:223: warning: control reaches end of non-void function
verstehe ich nicht. Wie kann ein Interrupt einen int zurückgeben? Und an wen?
Wie muss ich denn nun die isr definieren?
sast
Lesezeichen