mega8 und PWM

OP #228041
Lesenswert?

Hallo,
bin noch ziemlicher Anfänger bei µC.
Hab das Tutorial zwar schon erfolgreich hinter mir, aber da hörts auch
schon auf.

Hab mich heut schon den ganzen Tag an PWM versucht.
Klingt im Datenblatt ja irgendwie einfach, die passenden Bits in
Control Register setzen, einen Wert ins Output Compare Register und den
Rest macht er von alleine.

Also bin ich der Meinung mein kleines Programm sollte schon irgendeinen
Effekt zeigen.
Benutze übrigens das STK500 und hab die LEDs an PORTB angeschlossen.
Liegt da schon mein Fehler??
Der Timer müsste doch eigentlich schon loslaufen wenn man die CS22:0
Bits setzt, oder muss ich den sonst wie starten!?

Naja, jedenfalls sehe ich an den LEDs absolut gar nichts und weiss
ehrlich gesagt nicht mehr warum :(
Angehängte Dateien:
Gast #228044
Lesenswert?

Hi, also die LEDs an PORTB ist shconmal richtig denn das PWM signal kann
man ja am PB1 oder/und PB2 abgreifen.

//Ports auf Ausgang schalten
DDRB |=(1<<PB2)|(1<<PB1);
PORTB|=(1<<PB2)|(1<<PB1);

//Die register üssen gesetzt werden damit das PWM signal erzeugt wird
TCCR1B &=~(1<<CS12);
TCCR1B|= (1<<CS11);
TCCR1B|= (1<<CS10);
TCCR1A|= (1<<COM1A1)|(1<<COM1A0);
TCCR1A|= (1<<COM1B1)|(1<<COM1B0);

OCR1A=tempol;
OCR1B=tempor;// hier dann einen wert von 0-255 für tempol oder tempor
einsetzten  , habe damit 2 motoren gesteuert


jetzt zu meinem Problem das mit dem PWM funktioniert wunderbar, nur
will ich jetzt am PB0 mit Input Capturing ein PWM signal auswerten, nur
irgendwie klappt das nicht, beides einzeln geht also entweder PWM signal
ausgeben oder halt irgendein PWM signal auswerten, nur zusammen geht das
irgendwie nicht, klappt das grundsätzlich nicht oder muss man da nur
eine bestimmte einstellung vornehmen???

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