Gast
#396417
Hallo,
ANFÄNGERFRAGE: !!!
Ich habe hier ein Projekt in das ich mich einarbeiten möchte, leider
zum ersten mal im Bereich der MC Programmierung!
Controller: 80C517 / 80C537
Und gleich beim Timer fängt es an!
#define ZEIT 0xFC17
void timer1_init(void)
{
TMOD&=0x1F;
TMOD|=0x10;
TH1=ZEIT>>8;
TL1=ZEIT&0x00FF;
ms_timer = 10;
}
Soweit klar, (hoffe ich)
Timer1 = keine Abhängigkeit von externer Freigabe
= ist ein Timer, kein Zähler
= Modus ist 1 (16-Bit Timer, ohne Autoreload)
TH1 = FCh
TL1 = 17h
somit im Timer1 Counter FC17h, als nächstes folgt der Start des Timers
mit:
void timer1_start(void)
{
TR1=1; // Timer1 wird gestartet
ET1=1; // Interrupt für Timer1 wird freigegeben
}
Nun zählt doch der "Timer 1 Counter" hoch und setzt (nach 1ms) das
Interruptflag TF1.
Soweit sollte ich es doch richtig verstanden haben, oder?
Nun da dieser Interrupt ausgelöst wurde suche ich in der
Interruptvektor Tabelle nach diesem Interrupt. In der User Manual für
meinen Baustein steht das nach Adresse 001Bh gesprungen wird.
Wie kann ich rausfinden, ob auf diesen Interrupt reagiert wird?
Den nach meinen Verständnid sollte darauf reagiert werden, im Anhang
ist ein Teil einer Init() Methode die den Timer startet und drauf
reagiert.
Ich hoffe ich habe mich nicht zu kompliziert ausgedrückt, oder gar zu
blöd!
Danke für eure Hilfe!
Sven