- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 12

Thema: Timer >>> CPU-Takt

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    #define F_CPU 1000000UL
    das makro wird intern benutzt um zeiten die du in sekunden oder millisekunden angibst in takte, schleifen und timerwerte umzurechnen und muss immer exakt dem entsprechen was du in den fuses konfigurierst, sonst stimmt keine delay und auch kein timer (falls du irgendwelche libs verwendest)

    richtig wäre

    #define F_CPU 8000000UL

    um den timer jetzt nur mit 1mhz takten zu lassen müsstest du den prescaler in dem passenden timer control register auf 8 setzen

    das makro hat jedenfalls ncihts direkt mit irgendwelchen timern zu tun sondern dient einzig als grundlage zur umrechnung von zeit im bezug auf deine CPU clock
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Zitat Zitat von Ceos Beitrag anzeigen
    richtig wäre
    #define F_CPU 8000000UL
    Mir geht es bei einer niedrigen F_CPU um Energieschohnung, da ich überhaupt keine HF-Anwendungen habe.
    Mit dem Timer/Presacling gehe ich auf einen 1ms-Interrupt.

    Warum macht es dennoch Sinn die CPU auf 8MHz laufe zu lassen?
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Wenn du in den Fuses den internen Takt mit Teilung 8 (Werkseinstellung) verwendest du effektiv 1MHz, dadurch musst du auch beim F_Cpu 1MHz einstellen.
    Wenn du die Teilung 8 entfernst, läuft der uC mit 8MHz und dann musst du bei F_Cpu 8MHz einstellen.
    Wenn du einen Quarz, externen Takt,... verwendest, muss du bei F_Cpu die Taktfrequenz der Quelle einstellen.

    F_Cpu wird nur für interne Berechnungen verwendet, das wurde aber schon gesagt.

    MfG Hannes

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Teilung 8 (Werkseinstellung)
    Sorry das habe ich total vergessen

    Um noch mehr Strom zu sparen könntest du auch den 128kHz Watchdog Oszillator nehmen, wenn das ausreicht?

    (Bedenke dass du evtl. die ISP Frequenz deutlich senken musst um noch mit dem Chip zu reden, bin mir nicht sicher ob der im ISP Modus auch bei 128kHz taktet oder weieder auf den internen OSC zurückschaltet)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Danke für deine Tips!

    CPU-Einstellung habe ich unter FUSES gerade nicht gefunden - wird Werksseitig auf 8MHz stehen - macht wohl auch kein Sinn uC auf 1MHz runter zu takten...
    Werde mich nächste Wo weiter damit beschäfigen.
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

Ähnliche Themen

  1. C167 Drehzahlberechnung mit Timer 3 od. Timer 3 & 4?
    Von cieks0301 im Forum Software, Algorithmen und KI
    Antworten: 5
    Letzter Beitrag: 13.03.2009, 10:37
  2. sehr niedriger Takt für Timer
    Von The Man im Forum Assembler-Programmierung
    Antworten: 2
    Letzter Beitrag: 17.10.2007, 20:50
  3. CLK Takt höher als Datenbus Takt (SDRAM)
    Von saoirse im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 25.08.2007, 17:12
  4. Allgemein Takt Einstellung und PWM Takt einstellung
    Von Neo120484 im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 30.07.2006, 09:53
  5. PWM mit Timer 0 und 2 geht, aber nicht mit Timer 1 (mega64)
    Von popi im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 14.06.2006, 16:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen