Kümi
29.05.2010, 17:03
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/Timer/Counter_%28Avr%29
Von da hab ich den Code auch größtenteils übernommen, nur einbisschen angepasst.
Hier mein 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
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/Timer/Counter_%28Avr%29
Von da hab ich den Code auch größtenteils übernommen, nur einbisschen angepasst.
Hier mein 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