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)
Hi Auch den richtigen Controller für die Simulation eingestellt? MfG Spess
Hi Der 644P kennt übrigens kein 'TMISK' oder besser 'TIMSK', sondern nur TIMSK0, TIMSK1... MfG Spess
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.