-         

+ Antworten
Ergebnis 1 bis 2 von 2

Thema: PWM mit Atmega8

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2010
    Beiträge
    19

    PWM mit Atmega8

    Anzeige

    Hallo,

    ich möchte an meinem Atmega8 die PWM-Funktion für OC1B aktivieren.
    Ich habe mir das hier durchgelesen: http://www.rn-wissen.de/index.php/Ti...nter_%28Avr%29
    Von da hab ich den Code auch größtenteils übernommen, nur einbisschen angepasst.
    Hier mein Code:

    Code:
     int main (void)
      {
        int wert;
    
    
        Init ();
    
    	
        while (1)
        {
    	DDRB |= (1 << PB5);
    
    	DDRB |= (1 << PB4);
    
    	PORTB &= ~(1 << PB5);
    	PORTB |= (1 << PB4);
    	
    	TCCR1B |= (1<<CS12);
    
    	TCCR1A |= (1<<WGM10);
    	TCCR1B |= (1<<WGM12);
    
    	TCCR1A |= (1<<COM1A1) | (1<<COM1B1);
    
    	OCR1A = 255;
    	OCR1B = 255;
    
    	DDRB |= (1 << PB2);
    
    	}
    
        return 0;
      }
    Leider tut sich nichts wenn ich den Wert bei OCR1B ändere.
    Kann mir jemand sagen was ich falsch gemacht habe?

    Gruß Robin

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    04.05.2010
    Beiträge
    88
    Code:
    int main (void)
      {
    /------------------------
    /  hardware initialisierung 
    /-------------------------
        int wert;
        Init ();
    
       DDRB |= (1 << PB5);               / port init
       DDRB |= (1 << PB4);
       PORTB &= ~(1 << PB5);
       PORTB |= (1 << PB4);
       TCCR1B |= (1<<CS12);
       TCCR1A |= (1<<WGM10);
       TCCR1B |= (1<<WGM12);
       TCCR1A |= (1<<COM1A1) | (1<<COM1B1);
       DDRB |= (1 << PB2);
    
    /------------------------
    / programm schleife
    /-------------------------
        while (1)
        {
       delay_ms(1000);                / pwm jede sekunde inkrementieren
        OCR1A =OCR1A+1;
        OCR1B = OCR1B+1;
       }
    
    
    
        return 0;    /wird nie erreicht
      }
    ist schon länger her mit c aber der grund sollte passen ohne jetzt auf die richtige initialisierung der pwm hardware zu achten da ich kein bock auf datenblatt gereade hab.
    wie gesagt programm bitte überprüfen da es eventuell nicht läuft da ich schon den c syntax nicht mehr draufhab nach so viel assembler.

+ Antworten

Berechtigungen

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