Hallo
Außer zwei berechtigten Warnungen kann ich das fehlerfrei übersetzen:
Zeile 21 ist tatsächlich der for-Befehl:Code:avr-gcc -mmcu=atmega8 -Os -mno-interrupts -funsigned-char -funsigned-bitfields -Wall -Wstrict-prototypes -ggdb -c -DF_CPU=8000000UL -Wa,-acdhlmns=temp.lst temp.c -o temp.o temp.c: In function `main': temp.c:7: warning: 'h' might be used uninitialized in this function temp.c:7: warning: 'd' might be used uninitialized in this function
for(i=0;i<4;i++){
Da fällt mir eigentlich auch kein Fehler auf. Wenn man allerdings nur die Zeilen mit Programmcode zählt, dann kommt man auf diesen if-Befehl:
if(uebergaenge==66){
"lefthand" wäre dann uebergänge, und da d und h beim Programmstart nicht definiert sind, könnte der Kompiler vielleicht der Meinung sein, dies hier wird nicht richtig ausgeführt:
if(dataO[1]<300){d=1;}
if(dataO[1]>600){h=1;}
if(h==1 && d==1){uebergaenge++;
und bei data[1] zwischen 300 und 600 hätte er damit auch vollkommen recht. Deshalb würde ich das Progamm mal so ändern:
int i, h=0, d=0;
Das ist aber nur geraten und nix gewußt.
Gruß
mic







Zitieren

Lesezeichen