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


von Björn C. (bjoernc) Benutzerseite


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)

von spess53 (Gast)


Lesenswert?

Hi

Auch den richtigen Controller für die Simulation eingestellt?

MfG Spess

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Simulator V2 gewählt?

von spess53 (Gast)


Lesenswert?

Hi

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

MfG Spess

von Björn C. (bjoernc) Benutzerseite


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 ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.