Hallo, Ich habe einen ATMega 32 der mit der Frequenz von 16MHz läuft. Ich brauche einen Pin der mir eine Frequenz zwischen 2MHz - 10MHz ausgibt. Ich möchte den Mega mit einem DAC (AD7808) verbinden und brauche demnach einen Takt mit dem der DAC läuft. Hat jemand eine Ahnung wie ich den Takt aus dem Mega rausbekommen? Grüße und Danke im voraus Martin
Naja, Taktrate hat etwas mit Zeit zu tun. Timer haben auch etwas mit Zeit zu tun. Solch ein Timer kann auch mit dem Prescaler 1 betrieben werden. (Siehe Seite 88 des ATMega32 Datenblatt) Vielleicht interessiert Dich auch die Seite 78 - Modes of Operation. Da wird unter anderem auch der PWM-Modus erklärt. Damit müsstest Du nicht einmal eine ISR schreiben um den Systemtakt teilen zu können...
Hallo, nimm lieber den CTC-Mode eines Timers, der ist für sowas gedacht. PWM hat damit wenig bis garnichts zu tun. Maximal bekommt Du 8MHz bei 16MHz Takt raus, schneller wie 1x pro Takt kann der AVR das Pin schlecht ändern. Ansonsten sind die Werte 8/4/2MHz auf diese Art sinnvoll machbar, ich hoffe, es passt da irgendwas. Gruß aus Berlin Michael
Habe jetzt das ganze mal probiert (auf die Idee mit der PWM kam ich garnicht). Problem ist bloß, dass die PWM zu langsam ist. Ich schaffe höchstens eine Frequenz von ca. 40 KHz (guck mir das mit nem Oszi an). Sind vielleicht meine Fusebits falsch? CKSEL 3-0 3=Haken 2=kein Haken 1=Haken 0=Haken und so sieht die Zeile aus mit der ich die PWM einstelle. TCCR2 = (1<<WGM21)|(1<<WGM20)|(1<<COM21)|(0<<CS22)|(0<<CS21)|(1<<CS20); Grüße Martin
Dann werde ich mich mal in den CTC Mode einlesen und gucken was ich hinbekomme.. Danke schon mal... Gruß Martin
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.