robo junior
04.02.2007, 11:34
Hallo
Ich hab einen ATMega2560 Controller. Jetzt möchte ich mit dem Timer 3 PWM Signale erzeugen, um über einen Motorentreiber meine 3 Motoren zu steuern.
Dafür benutze ich folgenden Code:
//Pins OC3A,OC3B,OC3C auf Ausgang
DDRE = (1<<3)|(1<<4)|(1<<5);
//Timer 3 in PWM Mode mit Prescaler 256
TCCR3A = (1<<COM3A1) | (1<<COM3B1) | (1<<WGM31) | (1<<WGM30);
TCCR3B = (1<<CS32);
//Vergleichswerte
OCR3A = 1023;
OCR3B = 1023;
OCR3C = 1023;
Das funktioniert auch an den Ausgängen OC3A und OC3B aber am Ausgang OC3C entsteht kein Signal. Ich hab das ganze auch schon an Timer 4 ausprobiert aber auch dort funktioniert der 3. Ausgang nicht. Hat jemand eine Idee woran das liegen könnte?
Ich hab einen ATMega2560 Controller. Jetzt möchte ich mit dem Timer 3 PWM Signale erzeugen, um über einen Motorentreiber meine 3 Motoren zu steuern.
Dafür benutze ich folgenden Code:
//Pins OC3A,OC3B,OC3C auf Ausgang
DDRE = (1<<3)|(1<<4)|(1<<5);
//Timer 3 in PWM Mode mit Prescaler 256
TCCR3A = (1<<COM3A1) | (1<<COM3B1) | (1<<WGM31) | (1<<WGM30);
TCCR3B = (1<<CS32);
//Vergleichswerte
OCR3A = 1023;
OCR3B = 1023;
OCR3C = 1023;
Das funktioniert auch an den Ausgängen OC3A und OC3B aber am Ausgang OC3C entsteht kein Signal. Ich hab das ganze auch schon an Timer 4 ausprobiert aber auch dort funktioniert der 3. Ausgang nicht. Hat jemand eine Idee woran das liegen könnte?