Timer 1 beim 90S8515

Gast #52789
Lesenswert?

Hi,

hab grad ein kleines Verständnisproblem.
Hab auf dem AT90S8515 versucht, mit dem Timer1 zu Testzwecken ein
1-Sekunden-Takt zu generieren.
Dazu hab ich erst einmal den Prescaler auf 1024 gesetzt, zusätzlich die
Option, dass bei Compare Match der Zähler auf 0 rückgesetzt wird, das
Compare Match Register A mit dem zu erreichenden Wert geladen, den IRQ
für Output-Compare-A freigegeben und danach den globalen IRQ
freigegeben.
Nur tut das Teil überhaupt nix. Wenn ich den Timer-Overflow IRQ
aktiviere, dann bekomme ich einen IRQ (weiß nur nicht, wann) und dann
ist tote Hose.
Hat jemand schonmal mit Timer 1 gearbeitet und ´hat vielleicht ne Idee,
wie das zu lösen wäre?


Gruß, ERDI - Soft.

P.S.: Würde gerne das Programm mitposten, liegt aber leider daheim auf
der Festplatte. (Macht das ganze wohl leider etwas komplizierter.)
Gast #52791
Lesenswert?

Nur ergaenzend zu Uwe:
"overflow" sollte der richtig Ansatz sein, funktioniert zumindest bei
mir wie erwartet. Mglw. ein ret statt reti am ende des Int-Handlers?
Zaehlregister wieder auf Anfangswert gesetzt? Timer 1 ist soweit ich
mich erinnere ein 16-bit Timer, erstmal mit einem 8-bit Timer
probieren. Wie Uwe schon schreib: simulieren (Prescaler klein, Zaehler
kurz vor $FF, sonst muss man zu lange warten im Studio4 Simulator,
Breakpoint in den Int-Handler)
Gast #52793
Lesenswert?

Danke für eure Hilfe, funktioniert mittlerweile.

Hab den Programmteil mal als eigenständiges Programm kompiliert, da
liefs dann. Nachdem ich den Teil rausgenommen habe, der die Relais
schaltet, hats auch im anderen Programm funktioniert. Bin aber fast
verzweifelt, als ich das ganze simuliert habe.
Arbeite in dem Programm mit Flags. Nur sind die Flags nicht ständig neu
gesetzt worden, sondern hatten immer nen statischen Wert. Dadurch
wurden einige Routinen halt nicht ausgeführt.
Aber hauptsache, es geht jetzt.

@Uwe:

Mit tote Hose meinte ich, dass die Relais nicht geschaltet haben. Hatte
testweise die Relais ein-aus geschaltet, um zu testen, ob das Programm
überhaupt funktioniert, oder meine Anzeigeroutine nicht geht.


Gruß, ERDI - Soft.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren