So, ich habs nun. Im PWM-Mode kann man generell nur das Puls/Pause-Verhältnis regeln (sprich die effektiv herauskommende Gleichspannung). Stufenlose Frequenzänderung ist NICHT vorgesehen. Das macht man am besten im CTC1-Mode und normalem Timer z.B. so
(PP-Verhältnis ist dabei fest 1:1)
Code:#include <avr/io.h> #include <avr/delay.h> #include <avr/interrupt.h> int main () { DDRD=0xFF; TCCR1A |= (1<<COM1A0); //nicht invertierte 10Bit-PWM TCCR1B |= (1<<CS11)|(1<<CTC1); //clk/8 Timerfrequenz uint16_t i; cli(); for(;;){ for(i=10;i<=5000;i++){ OCR1A=i; _delay_ms(1); if (i==4990) i=0; } } }







Zitieren

Lesezeichen