Forum: Mikrocontroller und Digitale Elektronik Timer mit freescale MC9S08DZ128


von Aaaaaa H. (mikro_newbie)


Lesenswert?

Hallo zusammen,

ich versuche gerade, einen Timer für einen Freescale MC9S08 zu 
programmieren und es funktioniert einfach nicht.

Ich bin leider totaler Newbie und will zu Begin einfach nur mal eine LED 
blinken lassen.
Ich betreibe meinen Controller  mit 8Mhz und will die LED im Sekunden 
Takt ein/aus Schalten. Ich hoffe, mir kann jemand helfen,

vielen Dank schonmal,

Andreas

von Archie F. (archie)


Lesenswert?

> Ich hoffe, mir kann jemand helfen
Bestimmt nichts, da du keine Anhänge hast.

von Aaaaaa H. (mikro_newbie)


Lesenswert?

Aber es gibt doch gar nix zum anhängen :(. Ich hab ja noch kein Code 
dafür, will doch wissen wie es geht...

von stef (Gast)


Lesenswert?

Du nutzt den CodeWarrior nehme ich an, wen nicht kannst du den umsonst 
runterladen und benutzen, mach da einfach mal die tutorials, da sind 
ganz einfache blinkschaltungen drin.

So von 0 auf, kann dir hier sicher niemand deinen Code schreiben, du 
musst schon selber ein wenig herumtüfteln, sonst hat auch sicher keiner 
Lust dir zu helfen..

Falls du ohne CodeWarrior programmieren willst, wirds bedenklich 
komplexer, da du dann die ganzen Timer Register usw. selber setzen 
musst, das würde ich dir nach deinen 2 Threads nicht zutrauen :)

grüsse

von Eckhard (Gast)


Lesenswert?

Hallo,

sollte sich eigentlich mir dem Device Initialisation wizzard von 
Codewarrior einfach einstellen lassen.

Desweiteren kannst Du Dir mal diese Beispiele aus dem Buch HCS08 
Unleashed ansehen.

http://www.sctec.com.br/content/view/107/31/


Desweiteren würde ich für die Sekunde eher den RTC nutzen.

Eckhard

von Aaaaaa H. (mikro_newbie)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Also erstmal vielen Dank für eure Hilfe. Ich hab jetzt schon etwas mehr 
verstanden und kann jetzt glaub ich auch ein paar gezielte Fragen von 
dem stellen, was ich nicht verstehe.

Ich habe hier mal zwei Dateien angehängt, die main.c und die MCUinit.c.

Mein Prozessor läuft mit 4MHz und wenn ich mein Programm debugge, dann 
komm ich auch nach ca. 2s in die Funktion
__interrupt void isrVtpm1ovf(void)

Heißt also, es wird ein IR ausgelöst. Soweit so gut. In MCUinit.c hab 
ich dann die Flag TPM1SC_TOF=0 gesetzt, damit stell ich doch den Timer 
wieder zurück, oder?

Meine nächste Frage wäre jetzt, wie kann ich diesen IR jetzt in meiner 
main nutzen. Ich will, immer wenn ich in die IR-Funktion komme, einen 
counter um 1 erhöhen. Wenn der 10 mal erhöht wurde, dann soll meine LED 
angeschalten, bzw. ausgeschalten werden. Wo muss ich jetzt meine 
Variable counter deklarieren, damit ich die in der IR-Funktion 
hochzählen lassen kann und im Hauptprogramm drauf zugreifen kann?

Oder macht man das ganz anders?

Vielen Dank schonmal,

Andreas

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.