1 Mhz mit ATMega8 erzeugen

Gast #3166924
Hallo,

ich möchte ein 1 Mhz Rechtecksignal mit einem ATmega8 erzeugen, der mit 
der internen Taktfrequenz von ebenfalls einem Mhz läuft.
Dazu verwende ich den Timer0 ohne Prescaler und lade ihn auf 255 vor. In 
der Interruptroutine wird dann ein Pin getogglet.
1
 
2
TCCR0 |= (1<<CS00);
3
TIMSK |= (1<<TOIE0);
4
sei();
5
ISR(TIMER0_OVF_vect)        
6
{ 
7
  TCNT0 = 254;
8
  PORTC ^= (1<<PC5);
9
}
Die gemessene Frequenz beträgt allerdings nur 12.5Khz. Was läuft hier 
falsch?

Beste Grüße,

Bilbo
Gast #3166936
>ich möchte ein 1 Mhz Rechtecksignal mit einem ATmega8 erzeugen, der mit
>der internen Taktfrequenz von ebenfalls einem Mhz läuft.

Das geht nicht. Wenn der ATMega mit 8MHz läuft könntest
du über SPI ein 1MHz Signal erzeugen, aber auch nicht
kontinuierlich.
Gast #3167003
Sollte auch mit Timer0 gehen. CTC einschalten, Prescaler 1, OCR0A auf 3 
stellen. Bei 8 MHz Chiptakt ergibt das eigentlich 1 MHz, wenn mich nicht 
alles täuscht...
#3167010
Dafür gibt es doch die CKOUT Fuse oder wie der Name genau war (werde das 
DB jetzt nicht am Handy durchwühlen) dann kriegst du den Takt direkt von 
der Hardware geliefert. Und selbst ohne das, was soll der Quatsch, den 
Pin in der ISR zu wackeln, wenn es die Compare-Outputs gibt? Bei 1 MHz 
Takt geht das eh nicht und einfach mal hochtakten, weil die Software 
schrottig ist, ist leider sehr beliebt. rolleyes
Gast #3167023
Danke für die viele Hilfe, hab es mit CTC hinbekommen. Hinzu kam noch 
ein Bedienfehler des Oszis, Timer0 schafft ca. 100khz mit der 
ursprünglichen Methode. Nochmals Danke!
Moderator Persönliche Seite #3167083
Thomas W. schrieb:
> Geht denn nicht Timer1 im CTC-Modus mit Hardware-Pintogglen?

Ja, damit kommt man bis maximal fCPU/2.  (So funktionierte der
Software-gesteuerte Taktgenerator auf dem STK500.)

Malte S. schrieb:
> Dafür gibt es doch die CKOUT Fuse oder wie der Name genau war

Hat der ATmega8 meiner Erinnerung nach noch nicht, erst die
Nachfolger ATmega88 & Co.

Antwort schreiben

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