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
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. :-)
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?
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
Es ist Sonntag Abend und es kommt nix gescheits im TV ;)
Nur zur Erinnerung. Es gibt keinen internen Quarz, nur einen Oszillator.
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.