Forum: Compiler & IDEs ATMEGA 16 PWM geht nicht


von moonuser (Gast)


Lesenswert?

Hallo,

die folgenden Zeilen machen an meinem Ausgang gar nichts:

TCCR1A= (1<<WGM10)|(1<<COM1A1); //PWM Phase correct 8 bit
  TCCR1B=  (1<<CS12);  //prescaler 64, enable counter
  PORTB=0xff ;//Portb Pullups
  DDRB= 0x08;  //Pin 3 Ausgang
  OCR1A=0;  //50 % ausgeben
  uint8_t i;
  for (i=1;i++;i<=255)
  {
    OCR1A++;
    delay_ms(50);
  };

Die Kommentare sind zum teil nicht aktuelle aber ich messe an meinem
Ausgang dauerhaft einen Wert um 5 Volt und meine LED lässt sich auch
nicht dimmen. hat jemand eie Idee woran das liegen könnte?

von Daniel M. (usul27)


Lesenswert?

Probier mal, den Port ERST als Ausgang zu definieren und dann PWM zu
starten. Messen mit einem normalen Multimeter bringt bei den
PWM-Frequenzen meist eh keine sinnvollen Ergebnisse, aber die
Helligkeit der LED sollte sich schon ändern.

von moonuser (Gast)


Lesenswert?

habe ich gemacht:
PORTB=0xff ;//Portb Pullups
  DDRB= 0xff;  //Pin 3 Ausgang
  TCCR1A= (1<<WGM10)|(1<<COM1A1); //PWM Phase correct 8 bit
  TCCR1B=  (1<<CS12);  //prescaler 64, enable counter

  OCR1A=0;  //50 % ausgeben
  uint8_t i;
  for (i=1;i++;i<=255)
  {
    OCR1A++;
    delay_ms(50);
  };
alledingskeinen Erfolg damit.  Noch eine Idee?

von moonuser (Gast)


Lesenswert?

sorry...
habe den falschen pin benutzt. auf PB3 geht die PWM vom T/C 0.


Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.