Hallo zusammen, ich hab hier eine Aufgabe und die dazugehörige Lösung. Nur leider verstehe ich einen Schritt absolut nicht :/ Berechnet werden soll der Startwert für einen Timer bei einem Systemticker von 1ms und einem Systemtakt von 18Mhz. Es handelt sich um einen 16Bit Timer und den dazugehörigen Interrupt. Später sollen damit zwei Funktionen betrieben werden, die jeweils alle 300ms und 1s aufgerufen werden. Wie man das umsetzt ist kein Problem, allerdings tue ich mich bei der Berechnung des Startwertes für den Timer schwer. Theoretisch würde ich jetzt erst einmal die Periodendauer berechnen, also f = 1/T bzw. hier dann T = 1/f, aber in der Lösung steht dann folgendes: 1/(18/6)=1/3µs (woher kommt hier die 6?!) und im Anschluss 1000µs/(1/3µs) = 3000 = 0x0BB8 -> 0xFFFF - 0x0BB8 = 0xF447. Könnte mir vielleicht jemand dieser Schritte mal plausibel erklären und vor allem, woher genau die 6 hier kommt? Vielen Dank für eine Antwort! :)
Wäre gut wenn du den verwendeten Prozessor benennst. Evtl. hadelt es sich um einen Prozessor der die Frequenz für einen Zyklus durch 6 Teilt. z.B. Manche 8031 - Prozessoren ! Gruß
Kami schrieb: > 1/(18/6)=1/3µs (woher kommt hier die 6?!) Druckfehler? 18Mhz sind zufällig 18 Millionen, also 18 * 10 hoch 6 Herz Der Rest der Berechnung ist klar, auch wenn ich nicht verstehen kann, warum man das unbedingt HEX-rechnen muss. Aber ist OK.
> Evtl. hadelt es sich um einen Prozessor der die Frequenz für einen > Zyklus durch 6 Teilt. > z.B. Manche 8031 - Prozessoren ! Das war es tatsächlich, habe ich dann in den Datenblättern zum Timer doch noch gefunden. Vielen Dank dafür!
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.