Hallo,
ich glaub ich hab da mal ne sau blöde Frage.
Das Fusebyte CKDIV8 teilt doch den internen Quarz durch 8?
Wenn ich folgenden Code aufrufe:
do
{
PORTA ^= 0x01;
}while(1);
dauert jeder Durchlauf 5 Zyklen. (laut Simulator) Bei einem Quarz von
1Mhz müssten also rein theoretisch am Ausgang PA0 200kHz anliegen.
Richtig? Es liegen aber nur 100kHz an. Kann mir das bitte jemand
erklären oder habe ich einen Denkfehler?
Vielen lieben Dank.
Gruß
Sven
Gast
#1836783
Sven B. schrieb: > Richtig? Es liegen aber nur 100kHz an. Kann mir das bitte jemand > erklären oder habe ich einen Denkfehler? Du brauchst für eine Periode zwei Flankenwechsel, sprich 2 Durchläufe der Schleife. :-)
Gast
#1836785
Sven B. schrieb: > habe ich einen Denkfehler? Ja. Wie ist die Definition von "Frequenz"?
Gast
#1836786
Jop hast nen denkfehler: Bei jedem zyklus wird der port negiert: 5 takte 0, dann 5 takte 1. Damit hast du einfach gesagt 10 takte zwischen jeder steigenden Flanke, was die 100kHz ergibt. Gruß andz
grrr *Kopf auf den Tisch hau* Du hast natürlich recht. Ich glaub ich geh jetzt besser in mein Bett. Vielen Dank. Wegen dem Fusebit... Das bewirkt eine Division um 8 oder?
Gast
#1836790
Sven B. schrieb: > Wegen dem Fusebit... Das bewirkt eine Division um 8 oder? jo.
Wenn ein Durchlauf 5 Zyklen braucht, so ändert sich der Zustand von PORTA alle 5us. Da eine Periode aber aus 2 Änderungen besteht stimmen die 100kHz schon.
Also Hut ab wie schnell hier geantwortet wird. Und gleich so viele. Vielen Dank nochmal. Gruß Sven
Gast
#1836793
Es ist Sonntag Abend und es kommt nix gescheits im TV ;)
Gast
#1836795
Nur zur Erinnerung. Es gibt keinen internen Quarz, nur einen Oszillator.
Klar, hab mich falsch ausgedrückt. Sorry.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.