Forum: Mikrocontroller und Digitale Elektronik Probleme mit Interrupt 8051


von Sascha K. (quad2000)


Lesenswert?

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

von Franz H. (dl7avf)


Lesenswert?

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

von Sascha K. (quad2000)


Lesenswert?

Danke für die Hilfe. Ich habe es hinbekommen.

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
Noch kein Account? Hier anmelden.