Zuerst muss ich gestehen, dass ich noch keine Erfahrung mit WinAvr habe, da ich bisher immernoch mit meinem alten CodeVision zurechtgekommen bin.
Jetzt möchte ich allerdings einen Mega8 als Slave in einen bestehenden I2C-Bus einhängen, und vorerst nur Werte annehmen und per RS232 überprüfen.
Da binn ich doch auf dieses schöne Beispiel im RN-Wissen gestoßen:
http://www.rn-wissen.de/index.php/TWI_Slave_mit_avr-gcc
doch leider bekomme ich beim compillieren des original-codes schon Warnungen und Fehler..


Code:
------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling C: slavetest.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./slavetest.lst  -std=gnu99 -MMD -MP -MF .dep/slavetest.o.d slavetest.c -o slavetest.o 
slavetest.c: In function 'uart_puti':
slavetest.c:21: warning: implicit declaration of function 'itoa'
slavetest.c:21: warning: passing argument 1 of 'uart_puts' makes pointer from integer without a cast

Compiling C: twislave.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./twislave.lst  -std=gnu99 -MMD -MP -MF .dep/twislave.o.d twislave.c -o twislave.o 
twislave.c: In function '__vector_17':
twislave.c:77: error: 'I2C_reg_Schreibschutz' undeclared (first use in this function)
twislave.c:77: error: (Each undeclared identifier is reported only once
twislave.c:77: error: for each function it appears in.)
make.exe: *** [twislave.o] Error 1
Liegt das noch an irgendwelchen Makefile Einstellungen oder Versionsproblemen, oder ist der code doch fehlerhaft??