- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 10

Thema: ATmega48 Timer0 Problem, zählt zu langsam

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Also ich lasse den Timer jetzt bis 15 Zählen, setze ihn also auf 65520 aber egal was ich mache, ich komme nicht über die 33 khz marke.
    Hardware PWM: Kenne ich mich jetzt nicht aus, ich werde mal nachschauen ob ich mich damit anfreunden kann
    Mfg Thegon

    EDIT: Ach so, das ist Hardware PWM: einen Timer so zu Konfigurieren, dass er PWM Funktion übernimmt. So kenne ich das und mache das auch immer. Aber glaubst du, dass damit die Frequenz höher wird, denn eigentlich mache ich doch mit meinem Toggle doch auch nichts anderes als eine 50 % PWM, oder?
    Geändert von Thegon (29.07.2011 um 21:12 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Beim Mega48 kann auch Timer 0 den CTC Modus. Der Timer sorgt so in Hardware für die richtige Frequenz. Das laden des Timers in der ISR geht bei einem Prescaler von weniger als etwa 32 nicht mehr zuverlässig, da kommt die Verzögerung bis zum setzen des Timers dazu und fällt nicht mehr duch die Rundung im Prescaler weg. Ob man jetzt den Toogle Mode oder PWM nutz ist vermutlich egal. Wenn es um das Senden eines IR Signals geht, ist vermutlich der PWM Mode besser, denn für eine IR Signal kann man auch ganz gut mit ca. 25% Tastverhältnis auskommen (die Erklärung dazu führt hier zu weit).

    Um bei 1 MHz Takt alle 25 µs einen Interrupt auszulösen ist Bascom zu lagsam, da braicht schon das sichern der Register mehr Zeit. So um die 100 Zyklen muss man wohl für einen Interrupt in Bascom mindestens einrechnen. Selbst ganz in ASM ist das mit 25 Zyklen reichlich kurz, ginge aber noch. Vor allem müßte man ja dann auch gleich eine ganze Periode in der ISR erzeugen. Wenn man den passenden Ausgang und PWM nutzt geht es dann auch mit 1 MHz Takt. Mit den Toogle Mode geht es gerade nicht so gut, weil man 25 Zyklen nicht durch 2 Teilen kann - da müßte man den Takt dann schon etwas verstellen auf z.B. 980 kHz.

Ähnliche Themen

  1. Problem: Kommunikation über RN-PC->I2C langsam
    Von hspecht74 im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 8
    Letzter Beitrag: 08.04.2010, 12:50
  2. Timer0 des ATmega32 tickt zu langsam
    Von Djon im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 11.09.2008, 15:27
  3. Problem mit Timer0
    Von Mr Bean im Forum C - Programmierung (GCC u.a.)
    Antworten: 36
    Letzter Beitrag: 18.01.2008, 22:50
  4. timer0 problem
    Von Julian im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 24.07.2006, 18:10
  5. Problem mit Timer0
    Von luma im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 09.12.2005, 18:30

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress