-
        

Ergebnis 1 bis 4 von 4

Thema: ATmega16 Timer1 Beispiel CTC

  1. #1

    Frage ATmega16 Timer1 Beispiel CTC

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo

    Ich versuch hier verzweifelt auf dem ATmega16 den Timer1 im CTC aufzusetzen.

    Hat jemand einen Beispielcode in C, der mir zeigt, wie man das macht?

    Vielen Dank

    Simba

  2. #2
    Hi

    Da gibt es eine Sourcecode Beispiel Sammlung auf electronicsplanet.ch. Für den Timer1 CTC ist da auch was dabei

    http://www.electronicsplanet.ch/mikr...mer1-CTC-1.htm

    Hilft dir das weiter?

    Gruss
    Kresley

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551
    Hi Simba,
    willkommen im Forum.
    ... Ich versuch hier verzweifelt auf dem ATmega16 den Timer1 im CTC aufzusetzen ...
    Hast Du schon die Dokumentation dazu gelesen? Sind zwar ETLICHE Seiten, aber recht nützlich.
    Zitat Zitat von Simba81 Beitrag anzeigen
    ... einen Beispielcode in C, der mir zeigt, wie man das macht? ...
    Der Code ist für nen mega1284 - der mega16 dürfte nicht viel anders sein. Natürlich wirst Du die Parameter selber einstellen müssen. Im Code wird dann die
    ISR (TIMER1_COMPA_vect) // Servo[Svpt] wählen + dessen Rampe starten
    aufgerufen, es läuft keine Hardware-PWM . . . (wenn das Deine nächste Frage sein sollte).

    Code:
    // ============================================================================== =
    // ==   Timer1  Aufgabe: Servo mit Soft-PWM ansteuern auf wählbarem Port
    //      Beispiel:       ....
    // - - - - - - - - - - - - - - - -
      void TC1TMR_init(void)        // Init Timer/Counter 1 für 2 ms Servoperiode
      {                             //
        TCCR1B  |= (1<<WGM12);      // WGM12 => CTC, TOP = OCR1A                   S133
        TCCR1B  |= (1<<CS11);       // CS11+10 <=> clk/8 => 2,500 MHz              S134
        OCR1A    = 6400;           // => alle 2,56 ms ein Interrupt
        TIMSK1  |=  (1<<OCIE1A);    // Tmr/Cntr1 Oput CompA Mtch intrrpt enabled
    // - - - - - - - - - - - - - - - -
      }                                
    // ============================================================================== =
    // ============================================================================== =
    // ==   Timer1
    // - - - - - - - - - - - - - - - -
      void TC1TMR_on(void)          // Init Timer/Counter enable
      {                             //
        TIMSK1  |=  (1<<OCIE1A);    // Tmr/Cntr1 Oput CompA Mtch intrrpt enabled
      }                                
    // ============================================================================== =
    
    // ============================================================================== =
    // ==   Timer1
    // - - - - - - - - - - - - - - - -
      void TC1TMR_off(void)         // Init Timer/Counter disable
      {                             //
        TIMSK1  &= ~(1<<OCIE1A);    // Tmr/Cntr1 Oput CompA Mtch intrrpt disabled
      }                                
    // ============================================================================== =
    Ciao sagt der JoeamBerg

  4. #4
    Zitat Zitat von Kresley Beitrag anzeigen
    Hi

    Da gibt es eine Sourcecode Beispiel Sammlung auf electronicsplanet.ch. Für den Timer1 CTC ist da auch was dabei

    http://www.electronicsplanet.ch/mikr...mer1-CTC-1.htm

    Hilft dir das weiter?

    Gruss
    Kresley

    Ja hey, danke, genau das hab ich gebraucht!

    Danke Kresley

    Danke auch Oberalgeier, aber der andere Code war etwas einfacher und hats bereits gebracht.

Ähnliche Themen

  1. Atmega16 / 16 Mhz / ADC Code beispiel
    Von Sany im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 28.12.2012, 00:06
  2. AtMega16 Timer1 Overflow Zeitberechnung
    Von cbg im Forum Assembler-Programmierung
    Antworten: 3
    Letzter Beitrag: 11.05.2009, 21:59
  3. CTC Mode
    Von Thorsten im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 22.09.2006, 12:55
  4. CTC
    Von surfer im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 24.07.2005, 10:26
  5. Wie genau ist der Timer1 bei ATMEGA16
    Von Arne im Forum AVR Hardwarethemen
    Antworten: 12
    Letzter Beitrag: 15.12.2004, 16:06

Stichworte

Berechtigungen

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