PWM-Signal mit Atmega88

Gast #1978870
Lesenswert?

Hallo, ich möchte ein PWM Signal mit einem Atmega88 erzeugen.

Ich habe dazu diesen Code geschrieben:

DDRD |= (1<<PD5);
TCCR0A =  (1<<WGM02) |(1<<WGM00) | (1<<COM0B1) ;
TCCR0B |= (1<<CS01) ;
OCR0A = 40;

In etwas abgewandelter Form konnte ich schon eine Frequenz erzeugen

TCCR0A = (1<<WGM01) |(1<<COM0B0);
TCCR0B = (1<<CS01 | 1<<CS00);
OCR0A = 400;

Für das PWM-Signal hat das noch nicht geklappt,
kann mir da jemand helfen?
Gast #1978882
Lesenswert?

schon passiert

#ifndef F_CPU          // optional definieren
#define F_CPU 18432000UL    // MiniMEXLE mit 18,432 MHz Quarz
#endif

#include <avr/io.h>        // I/O Konfiguration (intern weitere Dateien)
#include "lcd_lib_de.h"      // Funktionsbibliothek zum LCD-Display

//Funktionsprototypen



int main()             // Start des Hauptprogramms
{
  initDisplay();


DDRD |= (1<<PD5);
TCCR0A =  (1<<WGM02) |(1<<WGM00) | (1<<COM0B1) ;
TCCR0B |= (1<<CS01) ;
OCR0A = 40
;

//DDRD |= (1<<PD5);
//TCCR1A = (1<<WGM10)|(1<<COM1A1);  //8Bit PWM | Nicht invertierte PWM
//TCCR1B = (1<<CS10)|(1<<CS12);    //Startet Timer und teilt durch 1024
//ICR1 = 255;            //Timer Zählt bis 255



while(1)
{



}

// Initialisierung Display-Anzeige

}



void initDisplay()        // Start der Funktion
{
  lcd_init();          // Initialisierungsroutine aus der lcd_lib

  lcd_gotoxy(0,0);             // Cursor auf 1. Zeile, 1. Zeichen
  lcd_putstr("Motoransteuerung"); // Ausgabe Festtext: 16 Zeichen

  lcd_gotoxy(1,0);             // Cursor auf 2. Zeile, 1. Zeichen
  lcd_putstr("durchPWM-Signals");  // Ausgabe Festtext: 16 Zeichen

}                // Ende der Funktion

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren