Hi Leute, ich hab da ein kleines Verständnisproblem mit dem Timer 0: Das Proggi läuft auf dem STK500mit 3.69 MHz Taktfrequenz. Für Timer0 ist ein Vorteiler von 1 eingestellt, also Systemtakt. Dementsprechend wird als TCNT0 alle 1/3.69MHz = 0.271 us erhoeht. Der Timer laeuft von 155 - 255, also 100 Counts. Also muesste alle 100*0.271us = 27.1 us ein Overflow auftreten. In diesem Interrupt toggle ich einen Ausgangspin, der muesste also mit einer Frequenz von 1/27.1us = 36.9 kHz schalten. Oder ? Laut meinem Oszi habe ich aber eine Rechteckspannung mit einer Frequenz von 16.799 kHz. Kann mir das mal einer erklären ? Greetings Karlheinz
Naja, ich habe ein digitales Speicher (tds 1012), das berechnet die Frequenz und zeigt sie an wie kommst du denn auf 18.45 ? wo iste denn mein denkfehler ?
Wenn Du den Pin toggelst, dann dauert eine Periode ja 2 Interrupts, also 18,45kHz. Der restliche Fehler liegt wohl darin, daß Du das Reload nicht mit einer Addition machst, d.h. die Interruptbehandlungszeit unter den Tisch fallen läßt. Peter
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.