-         

Ergebnis 1 bis 1 von 1

Thema: 2x PWM mit Timer1 auf ATmega48

  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von Jacob2
    Registriert seit
    26.05.2007
    Ort
    Berlin
    Beiträge
    345

    2x PWM mit Timer1 auf ATmega48

    Anzeige

    Hallo,
    ich habe (mal wieder) Probleme und weiß nicht weiter:

    Ich brauche drei PWM Kanäle am ATmega48. Der erste (OC0A) funktioniert bereits, jetzt sollen noch die beiden Kanäle des Timer1 dazukommen (OC1A an PB1 und OC1B an PB2). Aus dem Datenblatt habe ich die entsprechenden Einstellungen entnommen, leider tut sich aber nichts an den beiden Ausgängen!

    Im Internet ist leider nur recht wenig zum ATmega48 zu finden. Könnte da jemand von euch mal drübergucken, was ich eventuell falsch gemacht haben könnte?

    Code:
    void PWM_Init (void)
    {
        //DataDirections
        DDRD |= (1<<PD6); //Sauger-PWM
        DDRB |= (1<<PB1) | (1<<PB2);//Motoren-PWM
    
    
        //Kanal 1 (funktioniert bereits!)
        //Fast-PWM-Mode, Clear on CompareMatch, Set at Bottom, Clk/8
        TCCR0A |= (1<<COM0A1) | (1<<WGM00) | (1<<WGM01);
        TCCR0A &= ~(1<<COM0A0);
        TCCR0B |= (1<<CS01);
        TCCR0B &= ~((1<<WGM02) | (1<<FOC0A) | (1<<FOC0B) | (1<<CS00) | (1<<CS02));
    
    
        //Kanal 2 & 3 (funktionieren noch nicht!)
        //10-bit Fast-PWM, Clear on CompareMatch, Set at Bottom, Clk/8
        TCCR1A |= (1<<COM1A1) | (1<<COM1B1) | (1<<WGM10) | (1<<WGM11);
        TCCR1A &= ~((1<<COM1A0) | (1<<COM1B0));
        TCCR1B |= (1<<WGM12) < (1<<CS11);
        TCCR1B &= ~((1<<WGM13) | (1<<CS10) | (1<<CS12));
    
    
           //Initialisierungs-Compare-Werte
        OCR1AH = 0x2;
        OCR1AL = 0;
    
          OCR1BH = 0x3;
        OCR1BL = 0;
    };
    EDIT: Oh man! So ein Mist! Ich hab den Fehler gefunden, es war nur ein falsches Zeichen... Hab's oben rot markiert. Ärgerlich!
    Geändert von Jacob2 (12.05.2011 um 18:24 Uhr)
    Roboter, CNC Fräse, Elektronik und Basteleien stelle ich auf meiner Website vor...

Ähnliche Themen

  1. externer Takt am Timer1 bei atmega48 (mein Fehler)
    Von The Man im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 05.12.2010, 21:08
  2. Atmega48 + ADC + PWM
    Von Michael 123 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 28.02.2009, 11:09
  3. I2C Bus Bascom ATmega48
    Von Michael 123 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 25.11.2006, 14:11
  4. ATmega48 programmieren
    Von philiph im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 25.09.2006, 20:29
  5. ATmega48 mit 30 MHz ??
    Von felack im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 18.07.2006, 23:28

Stichworte

Berechtigungen

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