Habe an meinen uC einen Quarz angeschlossen und nun möchte ich ein weiteres Bauteil mit einem Takt von meinem uC versorgen. Nur wie sieht denn so ein Takt genau aus? Mir ist schon klar dass das immer 1-0-1-0 usw im gewünschten Takt sein wird aber wie lange muss denn die 1 anliegen oder spielt das gar nicht so ne Rolle da eh auf die Flanken geschaut wird?
meist sollte das Tastverhältnis 50:50 sein. Wenn du einen neueren Atmel uC benutzt schau mal ins Datenblatt, die können nämlich ihren Takt an einem weiteren Pin (auch herunter geteilt) wieder ausgeben. Dann läuft das alles in Hardware und keine muss sich drum kümmern. Gruß Fabian
boah, das wäre natürlich geil! :-) habe einen ATmega8, schaue gleich mal nach oder weisst du da gerade mehr?
Wie hoch soll denn die Taktfrequenz sein? Langsame Takte kannst Du mit geringem Aufwand softwaremäßig erzeugen (als Output konfigurierten Pin im Interrupthandler toggeln). Der Vorteil ist eine höhere Flexibilität. Bei hohen Taktfrequenzen bist Du auf die hardwaremäßige Erzeugung angewiesen.
> habe einen ATmega8, schaue gleich mal nach oder weisst du da gerade > mehr? Der Atmega8 hat sowas nicht. Die pinkompatiblen Atmega48/88/168 dagegen schon. Die können an PB0 den Takt ausgeben. Beim Atmega8 könntest du z.B. Timer2 im CTC-Modus benutzen, wenn der noch frei ist. Damit kannst du in Hardware ein Taktsignal mit konfigurierbarer Frequenz (max. die Hälfte des Prozessortaktes) an PB3 generieren.
Mit Timer1 gehts beim ATmega8 auch, z. B. CTC-Modus mit COM1A1=0, COM1A0=1 ==> Toggle OC1A (=PB1) on Compare Match.
Ja, Timer1 geht auch, aber damit "verschwendet" man einen 16-Bit-Timer mit zwei PWM-Ausgängen statt nur einen 8-Bit-Timer mit einem Ausgang. Deshalb habe ich Timer2 vorgeschlagen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.