Forum: Mikrocontroller und Digitale Elektronik Anfänger Frage zum Timer eines Mega32


von Carsten (Gast)


Lesenswert?

Hi zusammen,
kann jm ein anfänger in C bitte helfen und mir sagen, wie ich den TCNT
Register für den 8bit timer/counter0 beim Atmega32 initialisieren
kann?? Ich kriege das einfach nicht hin! Könntet Ihr mir bitte Beispiel
geben! Ich hab ein 16Mhz Quarz! und möchte alle 12s das programm laufen
lassen!
Danke

von Hannes L. (hannes)


Lesenswert?

> Ich hab ein 16Mhz Quarz! und möchte alle 12s das programm laufen
> lassen!

Das geht so nicht, da ändert auch dein Ausrufezeichen nix dran...

Schau dir mal die verfügbaren Vorteiler und den Zählumfang bei 16MHz
Taktfrequenz an (Datenblatt Mega32, Seite 80). Damit kommst du maximal
auf 16,384ms. Die naturwissenschaftlichen Gesetze (Physik, Mathematik)
stehen nicht im Gesetzbuch, du kannst sie also nicht umgehen...

...

von Carsten (Gast)


Lesenswert?

wie hast Du die 16.384ms gerechnet? Hab die Seite schon gesehen, aber
trozdem komme nicht weiter! wie meinst Du das, dass ich max auf
16,384ms komme?

von Carsten (Gast)


Lesenswert?

ok Hanne, weiss jetzt schon wie das berechnet wird! Danke Trozdem! hatte
gerade einen black out :-) Das heiss, dass ich in meinem Fall hier einen
16bit timer benutzen soll?oder?

von Hannes L. (hannes)


Lesenswert?

> Das heiss, dass ich in meinem Fall hier einen
> 16bit timer benutzen soll?oder?

Damit erreichst du bei 16MHz Controllertakt auch keine 12 Sekunden.

Mir reicht aber meist ein Interruptabstand von 10ms (100Hz), dann habe
ich die Möglichkeit, eine Variable hochzuzählen, die ich nebenbei noch
als "Hundertstelsekunde" für eine Uhr oder Stopuhr nutzen kann. 10ms
ist auch gut zum Entprellen von Tastern geeignet.

Ich betreibe meine AVRs taktmäßig auch nicht am Limit, meist reicht mir
1MHz Taktfrequenz aus, wenn wegen UART ein Quarz benötigt wird, dann
kommt meist 3,6864MHz zum Einsatz. Es müssen nicht immer die
ultimativen Grenzwerte angestrebt werden...

...

von Carsten (Gast)


Lesenswert?

Hallo Hanne,
kannst du mir bitte dein Code zum Taster entprellen senden, hab schon
eines aber ohne interrupt routine!

von Hannes L. (hannes)


Lesenswert?

> kannst du mir bitte dein Code zum Taster entprellen senden, hab
> schon eines aber ohne interrupt routine!

Das ist nicht "mein" Code, sondern der von Peter Dannegger. Du
findest ihn in der Codesammlung. Suche im Betreff nach "bulletproof".
Lies aber erst ein paar Beiträge, ehe du den Code kopierst, denn im
ersten Anhang ist glaube ein Tippfehler drin.

Oder such mal in der Beitragssammlung nach "entprellung", da findest
du Links auf Forumbeiträge, in denen diese Entprellroutine erklärt
wird.

Auf www.hanneslux.de sind auch einige Programmbeispiele zu finden, die
diese Tastenentprellung nutzen.

...

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.