www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR-Studio fehler bei den Counter0 ?


Autor: Björn Cassens (bjoernc) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, es betrifft folgende Simulation, da ich gerade ein kleines RTOS 
schreibe, wollte ich dieses gern auf den 644 portieren. Aufgrund dessen, 
dass es sich hier um ein RTOS handelt bin ich auf eine Simulation 
angewiesen um einige worst-Case Fälle ab zu decken. Entwickelt habe ich 
dieses ja eigentlich nur für den Mega32 und wollte heute dies gern auf 
den 644p portieren. Aber genau da fängt es an haarig zu werden.

Denn es scheitert schon daran den Timer richtig zu initialisieren. 
Anstatt das ich in das Register :"TCCR0A" schreibe, wird der Wert in 
Register "TCNT2" geändert.  Dann mit einem zugriff auf "TCNT2" wird dann 
das gesetzte Bit gelöscht, obwohl ich auf ein ganz anderes Bit im 
Register zugreife. Ein zugriff auf TMISK hat keine veränderung in den 
Registern zur Folge (zumindest keine sichtbaren). Mit einem Zugriff auf 
TIFR greife ich auf PortC zu.
Danach schreibe ich das OCR Register und nach dem Return fange ich im 
Programm wieder von vorn an.
(ein vergleich der Counter usw. führte zu tage, das es keine zwei 
Counter0 gab also Counter0A und Counter0B) Ausserdem kommen die Register 
Adressen nicht mit dem aus dem Datenblatt hin.
Meine Frage ist daher - kann jemand anderes diesen Fehler bestätigen?

Und die Einstellung beim AVR-Studio habe ich auch schon einige male 
überprüft, es wird die Datei iom644p der AVRLibC eingebunden auch diese 
Adressen stimmen mit denen im Datenblatt überein.

(PS: die Konfiguration funktioniert mit dem ATMega32, der Fehler kann 
also nur durch falsche Adressen herforgerufen werden)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Auch den richtigen Controller für die Simulation eingestellt?

MfG Spess

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simulator V2 gewählt?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Der 644P kennt übrigens kein 'TMISK' oder besser 'TIMSK', sondern nur 
TIMSK0, TIMSK1...

MfG Spess

Autor: Björn Cassens (bjoernc) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 es war der richtige Controller ausgewählt.
Nur ich hatte wie Jörg grad gefragt hatte den Simulator 1 ausgewählt 
deswegen funktionierte das ganze nicht -.-

Danke für eure Hinweise

@ spess ja das weiß ich das er kein TIMSK0 usw. hat das ist ja auch 
mitunter der grund warum ich halt dieses als portierung ansehe oder 
zumindest als Anpassung ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.