Simulator nicht in ordnung?

Gast #125224
Lesenswert?
• ▲
▼
hi
ich habe folgendes Problem:
wenn ich meine asm-datei simuliere, startet mein timer erst, wenn der
startwert nicht 0 ist und zählt auch bei einem comparematch weiter,
anstatt zu löschen.
kann mir jemand weiter helfen?
Angehängte Dateien:
Gast #125226
Lesenswert?
• ▲
▼
Hi,
leider sehe ich mit deinen hexadezimalen zuweisungen nicht durch.
Ich habe keine Datenblatt vom 8515 zur Hand und weiss nun nicht was
die hex10 und die hex09 im TccR register machen...
Aber musst du nicht beim auslesen vom OCR1 erst das High-byte und dann
das LowByte auslesen? irgentwie gibts doch da eine Vorschrift.
Beim Schreiben machst du es ja auch.
Gruß
axel

Mit den (nicht)symbolischen Schreibweisen wurde aber schon öfters
kritisiert.
Gast #125227
Lesenswert?
• ▲
▼
das ist nicht der fehler
mein programm startet ja (im simulator)
nur der timer läuft erst, wenn im timerregister nicht der wert 0 steht.
ist das normal und nur im simulator so oder ist das später im chip
genauso.
was muss ich denn alles machen, um den timer zum laufen zu bringen
Gast #125230
Lesenswert?
• ▲
▼
Und wie (und wann) erreicht dein Programm die Reset-Routine???

Du musst an Adresse 0 einen rjmp auf die Reset-Routine setzen, sonst
läuft dein Programm beim Start in den Int-Vektor und ruft die ISR auf
bevor die Ressourcen initialisiert sind.

Den Rest des Programms habe ich nicht analysiert, da es zu mühsam ist,
ein Programm zu analysieren, in dem die Bits in Steuerregistern keine
symbolischen Namen haben.
Gast #125231
Lesenswert?
• ▲
▼
ja mit den steuerregistern hast du schon recht.
aber die sind in ordnung.
ich sage ihm er soll timer 1 mit dem compare - B - Modus connecten
ihm eine frequenz geben ihn bei einem compare-match zurücksetzten
und das compare b bit togglen.

aber kleine gegenfrage zu dem reset:
welcher befehl (kein config-befehl) steht denn vor dem befehl
rjmp Reset???
keiner, also wird er an Adresse 00 geschrieben.
Gast #125232
Lesenswert?
• ▲
▼
Sorry, das "rjmp reset" sehe ich jetzt erst, das ist im Kommentar
versteckt und vor den Registerdefinitionen vermute und suche ich keine
Anweisungen. Daher habe ich es übersehen. Bist du sicher, dass deine
Registerdefinition funktionieren? Ich habe die immer nach .include und
vor der ersten Anweisung.

...HanneS...
Gast #125233
Lesenswert?
• ▲
▼
das programm an sich funktioniert einwandfrei.
nur der timer läuft im simulator nicht. nur wenn ich einen Wert in das
timer register reinschreibe läuft er, aber das ist ja nicht die lösung
des Problems, denn wenn er im Simulator überläuft zählt er nicht weiter
... :-(

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.