www.mikrocontroller.net

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


Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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...

...

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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...

...

Autor: Carsten (Gast)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.