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

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.