Frage für 8 Bit Timer

Gast #948681
Hallo,
ich habe eine kleine Frage es geht um ein 8 bit Timer. Nach meiner 
Berechnung, stelle ich fest, dass ich nicht mit einem Clock-Frequenz von 
5MHz, ein Timer, das jedes 1 Sekunde eine Aktion durchführe.
Berechnung: gewälte Prescaler 1024:
5MHz/1024=4882.81
gewünschte Zeit:t= 1s
OCR0A=t*4883.81 =4884 aber das Register ist 8 bit groß.

Ich vermute, dass ich irgendwo einen Fehler mache. Kann jemanden mir 
helfen?
Gast
Hallo,
vielleicht verrätst du erstmal welcher Timer und uC das ist.
Weil wenn CTC Modus möglich ist wird das genau, ansonsten eher nit glaub 
ich.

Gruss
gast wrote:
> Hallo Zusammen,
> wenn ich gut verstanden habe, soll ich in dem TCNT0-Register der Wert 20
> schreiben. Falls ich jede 1 Sekunde zählen möchte.

Hi,
nur einfach eine Variable z.B. int counter einsetzen. In der 
Interrupt-Routine schreibst du counter++ bis counter = 19 ist 1 s 
vorbei.

Gruß
Gast
Wenn nen Timer, wie oben schon gefragt wurde einen
CTC Modus besitzt, kann man sich den softwarezähler sparen, das kann der
Timer auch, und Zeiteffektiver.

Dazu im datenblatt unter den Timermodi CTC nachlesen.
Als Beispiel hier fuer einen Atmega 128:
1
TCCR0 = (1<<CS00) |(1<<CS02) | (1<<WGM01); //prescaler 128, CTC-mode
2

3
TIMSK  |= (1<<OCIE0);  //Enable Timer/Counter0 Compare Match interrupt.
4
ASSR= 0x00; //intern clock (!= from TOSC), synchronous clock
5
OCR0= 124; //timetick = 10ms: (1/(F_CPU/128) x 249 = 1ms)

Gruß
Gast
Hi

@ QuizMaster:  Und? Er will 1s, nicht 10ms. Und das geht mit einem 
8Bit-Timer und 5MHz nun mal nicht in einem Rutsch.

Ich persönlich würde zwar auch CTC benutzen, mit OCR= F3H/243D. Ergibt 
49,971ms. und dann bis 20 zählen.

MfG Spess
Gast
Ups...
das m von ms wurde mal schnell dazugelesen,...

Ein 16Bit timer koennte das, vorrausgesetzt der Contzroller hat sowas...

Sonst doch nen Softwaretimer,...
sorry, Besserung in Aussicht ;-)

Gruß

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.