Hallo an alle, ich habe ein Problem mit dem Interrupt des Timers0 in meinem Programm. Hier das komplette Prgramm (rein Testzwecke): #include "at89c51cc03.h" //AT89C51cc03 Startdatei Einbinden #include <stdio.h> //Standart Ein/Ausgabe int zeit1; zeit1=0; EA=1; //Interrupts allgemein Freischalten ET0=1; //Timer 0 Interrupt Freischalten void main() { TL0=0x00; //Timer LowByte mit Wert laden TH0=0x00; //Timer HighByte mit Wert laden TMOD=0x01; //Timer Mode 1 TR0=1; //Timer Starten } void time() interrupt 1 { TL0=0x00; //Timer LowByte mit Wert laden TH0=0x00; //Timer HighByte mit Wert laden TF0=0; //Flag des Timers rücksetzen zeit1++; //Variable "zeit" um 1 erhöhen } Folgende Fehlermeldung bekomme ich vom Compiller (Keil µVision3) error C231: EA redefination error C231: EA redefination error C231: ET0 redefination error C231: ET0 redefination An was kann das liegen? Ich fange jetzt erst mit Interrupts an (Neuling) Danke und schönen Sonntag
Hallo Sascha, Zuweisungen müssen innerhalb Funktionen stehen. Versuch doch einmal: void main() { zeit1=0; TL0=0x00; //Timer LowByte mit Wert laden TH0=0x00; //Timer HighByte mit Wert laden TMOD=0x01; //Timer Mode 1 TR0=1; //Timer Starten EA=1; //Interrupts allgemein Freischalten ET0=1; //Timer 0 Interrupt Freischalten } Schöne Grüsse, Franz
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.