Timer1 mit Atmega8

OP #1875185
Hallo,ich möchte gern Timer1 von Atmega8 programmieren, aber mit 
unterschiedliche werte, d.h ich gebe die werte durch taster ( die werte 
werden im Display angezeigt ) , und diese werte werden automatisch 
weiter gegeben zu Timer1, den Timer1 muss mit einen Interrupt 
funktionieren, hat jemand hier solche programm geschrieben, oder hat 
jemand hier die Idee, wie wird das gemacht, weil ich allein versucht 
habe,aber leider ohne Erfolg.
Mfg David
#1875232
David Vivandis schrieb:
> ich möchte mit C schreiben, ich habe gemeint mit (ohne erfolg), dass ich
> mit alle diese versuche kein Ergebnis gegefunden habe.

Macht nichts. Zeigs trotzdem.

Dann wissen wir auf welchem Level du stehst und können die Antwort 
anpassen.

Im übrigen: du weist die Werte, die du haben willst, einfach an das 
betreffende Steuerregister zu. So wie du es beim ersten mal auch gemacht 
hast.
#1875240
Das Register musst du in Echtzeit verändern: TCCR0.

z.b. so
1
TCCR0 = (1<<CS01); // Prescaler 8
2

3
//oder so
4

5
TCCR0 = (1<<CS01 | 1 << CS00); // Prescaler 64

Wenn du z.b. die Geschwindigkeit verändern möchtest (wie ich glaube) 
musst du CS00 - CS02 im Register TCCR0 verändern um den Prescaler zu 
ändern. Allerdings ist die kleinstmögliche Änderung min. 4fach.
#1875252
Samuel K. schrieb:
> Das Register musst du in Echtzeit verändern: TCCR0.

Kann sein.

> Wenn du z.b. die Geschwindigkeit verändern möchtest (wie ich glaube)
> musst du CS00 - CS02 im Register TCCR0 verändern um den Prescaler zu
> ändern. Allerdings ist die kleinstmögliche Änderung min. 4fach.

Kommt drauf an.
Wenn man das ganze auf einen CTC runterbricht, kann man das Taktgenau 
verändern. Eventuell zwischendurch einen Prescalerwechsel, aber 
prinzipiell hat man beim Timer1 schon sehr gute Möglichkeiten die 
Interruptaufruffrequenz ziemlich exakt in einem weiten Bereich 
einzustellen.
#1875256
Karl heinz Buchegger schrieb:
> Wenn man das ganze auf einen CTC runterbricht, kann man das Taktgenau
> verändern. Eventuell zwischendurch einen Prescalerwechsel, aber
> prinzipiell hat man beim Timer1 schon sehr gute Möglichkeiten die
> Interruptaufruffrequenz ziemlich exakt in einem weiten Bereich
> einzustellen.

Klar allerdings wollte er das ja erstmal mit dem Timer1 machen. Ich weiß 
auch nicht wo so eine Änderung Sinn macht. Mit einem Zähler geht es 
einfacher (RTC hab ich ehrlich gesagt noch nie benutzt -> mit einer 
Variable + 8bit Timer kommt man auch aus, solange man nicht an der 
CPULeistung sparen muss).

spess53 schrieb:
> Wie kommst du darauf? Hellseher?

Wie kommst du nicht darauf? Schwarzseher?

Ich dachte wenn er sich mit Timer beschäftigt hat, muss er ihn ja nur 
noch ändern.
#1875261
Samuel K. schrieb:

> Klar allerdings wollte er das ja erstmal mit dem Timer1 machen. Ich weiß
> auch nicht wo so eine Änderung Sinn macht.

Na zb. Frequenzgenerator.

> RTC hab ich ehrlich gesagt noch nie benutzt

(CTC)
Probiers mal aus. Geht trivial.

> mit einer Variable + 8bit Timer kommt man auch aus, solange man nicht
> an der CPULeistung sparen muss

Geht auch. Alles nur eine Frage, wie fein die Abstufungen sein sollen.
Gast #1875262
Hi

>Wie kommst du nicht darauf? Ist doch logisch.

Nö. Bei CTC wäre es eher logisch OC-Register zu ändern. Bei einer PWM 
auch. Beim Prescaler sind die Gestaltungsmöglichkeiten eher gering.

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.