Das gibts doch nicht!! Ist das so schwer, dass hier keiner eine Antwort kennt??
Hi,
ich habe mittlerweile schon ziemlich viel hier im Forum über die Timer gesehen,aber nichts hat so richtig geholfen.
Ich habe einen ATMega8 und möchte den Timer nutzen. Zu Hause arbeitet mein Controller mit einem Takt von 4MHz (extern).
Wie initialisiere ich den Timer in C/C++ und kann ihn beispielsweise auf eine Sekunde einstellen?
Das gibts doch nicht!! Ist das so schwer, dass hier keiner eine Antwort kennt??
Ein Beispiel:
Quelle:Code:/*Blinkende LEDs im Sekundentakt 4MHz/2^16/64=1Hz --> 4MHz/16bit/Prescaler*/ #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> volatile char count; SIGNAL (SIG_OVERFLOW1) { if (count == 1) { PORTB = 0xFF; count--; return; } if (count == 0) { PORTB = 0x00; count++; return; } } void timer (void) { TIMSK = _BV(TOIE1); //Timer Overflow Interrupt enable TCNT1 = 0; //Rücksetzen des Timers TCCR1B = _BV(CS11) | _BV(CS10); //Prescaler 64 sei (); } int main (void) { DDRB = 0xff; timer (); for (;;) {} }
http://www.mc-project.de/
Auf der Seite gibts weitere nette C-Beispiele
Danke für den Tipp mit der Seite. Ich habe den Quelltext zwar noch nicht verstanden, aber der ist da ja scheinbar auch erklärt.
Warum blinkt es im AVR-Studio im Simulator nicht?
Das ist noch zum verrücktwerden!!
Also ich steig nicht so richtig durch,der Timer macht mir echt Schwierigkeiten. Das Problem ist, im Simulator klappts nicht (kann auch sein das ich nur zu blöd bin), naja zumindest alles mit Timer geht da irgendwie nicht und Ich finde irgendwie viel zu wenig darüber im Netz.
Also wenn jemand ne Seite kennt, die mir helfen könnte(allein fürs Verständnis reciht), dann schreibt mir bitte mal hier den Link.
Ob man Timer im AVR-Studio simulieren kann weiss ich nicht. Jedenfalls halte ich es für einfacher erste Timer-Experimente mit dem echten Controller zu machen. Hier hilft auch das Datenblatt des Mega8 weiter. Wichtig ist das du die Bedeutung der Register verstehst.
Sehr hilfreich ist hier auch das AVR Buch von Roland Walter.
Danke für die Tipps. Das ist es ja was ich verstehen will,erstmal die Bedeutungen. Schade,aber naja dann muss ich das heute Abend machen mit den Timerexperimenten,da ich an der Arbeit bin
Gibts das Buch auch online, als pdf oder so?
Nein, aber die Seiten:
http://www.mc-project.de/
http://www.rowalt.de/mc/index.htm
ja danke ,also die erste kenne ich, die hilft aber nicht viel und die zwiete bringt nicht viel weil ich es in c machen will.
Dann erkläre doch mal bitte, was du an meinem Programm genau nicht verstehst. Wo genau hängt es denn bei dir. Möchtest du etwas spezielles mit einem Timer realisieren?
Da ich mich leider nicht mehr ganz in die Lage eines Einsteigers hineinversetzen kann, wäre mir eine diesbezügliche Auskunft lieb. Dann würde ich auch die Rubrik "Timer" um ein paar Erklärungen ergänzen.
Gruß Alex
Lesezeichen