Hallo, ich habe mich in dem Timer des AT90S2313 versucht. Leider habe ich trotz der vielen Beiträge zu diesem Thema noch nicht das Prinzip bzw den Aufbau verstanden. Könntet ihr mir anhand eines kurzen Quellcodes zeigen wie der Timer1 funktioniert. Es würde reichen wenn der Timer eine Art stoppuhr ansteuert. Bei den Beispielen die ich gefunden hatte, war wie gesagt das Problem, das das ganze Programm zu komplex war und ich so nicht feststellen konnte wie der Timer1 arbeitet. Achso ich programmiere in bascom Grüße Claus (:
der timer ist, sagen wir mal so, eigentlich nur ein counter. Die Taktfrequenz erzeugt impulse und diese impulse erhöhen den zählwert des timer registers. meistens ist die impulsfrequenz ein zwölftel der Quarzfrequenz. aufjedenfall wird durch jeden impuls der zählwert des registers um 1 erhöht. kommt es zu einem überlauf des registers, wird ein interrupt ausgelöst. vorausgesetzt er is freigegeben ;-). nun gibt es verschiedene Modes in den man den timer betreiben kann. bei dem einen wird von einem voreingestellten wert weiter erhöht und nach dem es zum überlauf gekommen ist, wird der timer wieder auf den eingestellten wert wieder eingestellt. aber all diese modes findet man eh im datenblatt. im blokschaltbild erkennt man die funktion normal sehr gut. ich hoffe ich verzapfe da gerade nicht etwas falsches...
Hallo Claus die beigefügte Doku stammt von der ATMEL-hompage. Vielleicht hilft sie dir weiter ... Gruß Günter
Schau mal hier: http://www.rowalt.de/mc/avr/avrboard/05/avrb05.htm Weiter unten sind auch Timer und Interrupts damit einfach erklärt (mit Bascom). Grüße Olaf
Hi, auf dem AVR ist die Frequenz allerdings kein zwölftel des Systemtakts, sondern wird mit einem einstellbaren Vorteiler direkt aus dem Systemtakt gewonnen (Taktung durch ext. Interrupts oder zweiten Quarz mal aussen vorgelassen). Ansonsten möchte man fast raten wirklich einmal das Datenblatt bzw. die von Günter angegebene AN zu benutzen. Zusammen mit der BASCOM Doku ist man bestimmt schneller, als anderen Quellcode zu zerpflücken. Vergiss am besten erst einmal die eigentliche Aufgabenstellung und gehe wirklich Schritt für Schritt das AN durch. Die einzelnen Funktionalitäten des Timers einzustellen und zu benutzen ist jeweils nur eine Sache von sehr wenigen Codezeilen. Damit ist dir auf jeden Fall mehr geholfen, als wenn dir jetzt einer den Code für genau dein Problem gibt...
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.