- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 33

Thema: Timer beim ATMega32 in C

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.06.2012
    Beiträge
    14
    danke erst mal für die rasche antwort.

    kann es sein dass dir ein kleiner fehler unterlaufen ist. du schreibst:
    >>Bei 8Bit hättest du dann 256 Schritte (0-255) und bei 16Bit hast du 1024 Schritte (0-1023)<<
    sind es bei 16 bit nicht 0 - 65535?

    ansonsten würde mich genau das mit den interrupts interresieren - könntest du mir bitte ein codebeispiel posten?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Ja, bei 16bit sinds 65535 Schritte -> ~0.2 Hz

    Du kannst auch verschiedene Interrupts Auslösen: Überlauf, Timer hat bestimmten Wert
    Und je nachdem wie du das ganze aufbaust kannst du eigentlich jede beliebige Frequenz erzeugen - auch mit einem 8bit Timer
    Ich habs sogar geschafft mit einem 8bit Timer ein Servo anzusteuern, mit unterschiedlichen Prescalern usw - sehr interessant das ganze

    Gute Veranschaulichung der Register: klick

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.06.2012
    Beiträge
    14
    hmm.. danke aber ich such immer noch nach c-source-code....

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Wie gesagt, schau dir die Tutorials an...
    Es ist besser etwas zu können als den ganzen Code zu kopieren, und so schwer istn nun auch nicht

    Welche Timer hast du schon in Verwendung?
    Bzw. Welche Timer-Pins?

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    04.06.2012
    Beiträge
    14
    benötige ich denn pins um einen timer starten zu können?
    timer im allgemeinen verwende ich noch nicht.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Neee...aber man kann den Timer direkt nach außen legen auf einen Pin...

    Aber ich helf dir mal ein bisschen....
    Du willst:
    Im 1Hz Takt wird eine Variable inkrementiert

    Du brauchst:
    Timer
    Prescaler
    Interrupt
    Interrupt-Routine
    Variable

    Einen fertigen Code wirst du wahrscheinlich nirgends finden - bekommen wirst du von uns auch keinen - nur Denkanstöße

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    04.06.2012
    Beiträge
    14
    hmm.. also wenn ich alles richtig kapiert habe, dann mal eine kleine nachfrage...

    TCCR1B |= (1<<CTC1)| (1<<CS02) | (1<<CS00);
    OCR1C = 15625;
    OCR1A = 0;
    TIMSK |= (1<<OCIE1A);
    wie ich den code verstehe:
    zeile eins ergibt den vorteiler mit wert 1024 (dann wird der interrupt ausgelößt).
    nach dem wert in zeile zwei (15625) wird wider bei null (wegen zeile drei) begonnen.
    zweile vier schaltet den interrupt wieder frei.

    berechnung:
    16Mhz / 1024 = 15625Hz
    1/15625Hz = 0,000064 Sek.

    funktion:
    der timer wir alle 0,000064 Sek. um den wert eins erhöht (+1).
    bei "OCR1C = 15625;" bedeutet das 0,000064 Sek. * 15625 = 1,00 Sek.
    der timer springt ab 15625 auf 0 und dann wird die interrupt routine ausgelößt und so geht es weiter und weiter und weiter....

    liege ich soweit richtig mit meiner interpretation?!
    und wie um gottes willen lege ich jetzt diese interrupt routine an?!

Ähnliche Themen

  1. Timer beim atmega8
    Von MrTaco im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 19.05.2010, 14:28
  2. ausschaltverzögerung beim einschalten (timer)
    Von Warloxx im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 03.09.2009, 18:55
  3. Timer => Fehlermeldungen beim compilieren
    Von The Man im Forum Assembler-Programmierung
    Antworten: 5
    Letzter Beitrag: 14.02.2007, 10:07
  4. Timer/Counter0 beim Butterfly
    Von Heiko R. im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 09.11.2005, 17:55
  5. Timer beim Mega16
    Von maw_hn im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 22.08.2005, 09:03

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test