- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 52

Thema: Timer für AVR ATtiny84 oder ander allgemein in C

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier Avatar von ooweberoo
    Registriert seit
    24.02.2014
    Ort
    66482 Zweibrücken
    Alter
    39
    Beiträge
    28
    Blog-Einträge
    1

    Unglücklich Timer für AVR ATtiny84 oder ander allgemein in C

    Hallo Leute brauche mal bitte Hilfe,

    habe eine ATtiny84V10PU und möchte einfach nur einen Timer in abhängigkeit der Taktfrquenz laufen lassen und Überläufe zählen. Habe mir auch das Tutorial hier im Roboternetz (und viele andere) angeschaut und muss es als unbefriedigend bewerten. Wenn man in einem Tutorial schon Wissen vorraussetzt braucht man auch kein Tutorial machen
    Das hat nichts mit der Sprache C an sich zu tun, sind ja einfach nur Befehle an den Chip. Verstehe nicht wie man so eine einfache Sache so umständlich dumm gestalten kann. Für eine SPS ist das so einfach in AWL z.B.

    U E 6.0
    FR T1
    L S5T#10S
    SI T1
    UE 5.5
    R T1
    Fertig

    Was bedeutet z.B. das "SIGNAL(SIG_OUTPUT_COMPARE0A)" dazu finde ich nichts im Datenblatt des Chips, oder diese Befehle "SIGNAL(TIMER1_CAPT_vect)", "SIGNAL(TOIE0)", "SIGNAL(TIMER1_CAPT_vect_num)" ???
    AVR Kauderwelsch? Scheinen Pointer zu sein aber was machen die da?

    Alles was ich bis jetzt hin bekommen habe sieht so aus (CTC Mode):
    -----------------------------------------------------------------
    #include <stdlib.h>
    #include <avr/io.h>
    #include <avr/interrupt.h>
    #define F_CPU 1000000UL //max. Takt ATtiny84

    SIGNAL(SIG_OUTPUT_COMPARE0A)
    {
    TCNT0++;
    }

    TCCR0A = (1<<CS20) | (1<<WGM02); //Prescaler von 1 | CTC-Modus, ATtiny84 hat keine Prescaler Funktion ? richtig?
    OCR0A = 10000;
    TIMSK |= (1<<OCIE2); //Befehl aus Roboternetz Tutorial soll Interrupts aktivieren und damit Timer starten, bei mir Funktionirt es nicht
    sei();
    int main(void)
    {
    while(1)
    {
    }
    }
    -------------------------------------------------------------------
    Der Code ist fehlerhaft, denke es liegt am Behehl TCCR0A. Aber was muss dort stehen für den CTC Mode zu starten???
    Für mich liest sich der Code wie die Aussage eins Opfers das zusammengeschlagen wurde und versucht zu erklären was Gestern geschehen ist

    Kann mir mal jemand helfen und mal die Struktur bzw. Syntaxablauf eines Timer erklären wie z.B.

    Timer freigeben
    Timer aufrufen " T1"
    Timerwert setzen zB. 0 oder 20...
    Timerfunktion wie CTC, Einschaltverzögert usw.
    Vergleichswert für max. Zählwert festlegen z.B. 10000
    Befehl was beim erreichen von 10000 geschehen soll z.B. LMW 10, R T1, = A 4.0...

    So ein Ablauf der bei jedem Chip gleich ist und immer eingehalten werden muss und nur unterschiedliche Befehle aufweist da unterschiedliche Chips...

    Kann jemand helfen.... do kend ich beklobbd were.....

    ??
    Geändert von ooweberoo (27.02.2014 um 20:06 Uhr)

Ähnliche Themen

  1. Datenübertragung Bluetooth (oder Funk allgemein)
    Von Bumbum im Forum Software, Algorithmen und KI
    Antworten: 0
    Letzter Beitrag: 21.09.2012, 09:02
  2. ATTiny84 Pegelbegrenzung mit Zenerdiode oder wie?
    Von DanielSan im Forum AVR Hardwarethemen
    Antworten: 25
    Letzter Beitrag: 01.12.2011, 13:40
  3. 5V Netzteil gesucht oder allgemein guter Hersteller
    Von kini im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 5
    Letzter Beitrag: 25.03.2010, 11:33
  4. Ander controller programmieren?
    Von BlackDevil im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 26.08.2006, 00:20
  5. Bspcode in assembler für AVR Timer
    Von Shadowrun im Forum AVR Hardwarethemen
    Antworten: 5
    Letzter Beitrag: 09.02.2005, 13:55

Stichworte

Berechtigungen

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

12V Akku bauen