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.