Hallo Thomas,
klappt auf Anhieb, danke für den schnellen Tip :-)
So sieht nun die Init-Funktion aus:
1 | void pwm_Init()
|
2 | {
|
3 | DDRD |= (1<< PD5); // PWM an PORTD PIN5
|
4 |
|
5 | TCCR1A |= (1<<WGM11); // Fast PWM Mode 14, ICR1 Counter-Endwert
|
6 | TCCR1A |= (1<<COM1A1); // Bei erreichtem Vergleichswert wird Output Pin OC1 auf 0 gesetzt.
|
7 |
|
8 | TCCR1B |= (1<<WGM12) | (1<<WGM13); // Fast PWM Mode 14, ICR1 Counter-Endwert
|
9 | TCCR1B |= (1<<ICNC1); // Rauschunterdrueckung
|
10 | TCCR1B |= (1<<ICES1); // HIGH-Pegel zur Auswertung
|
11 | TCCR1B |= (1<<CS11); //Prescaler 8
|
12 |
|
13 | ICR1 = 512; // Startwert des counters
|
14 |
|
15 | OCR1A = 127; // Register mit PWM-Wert. Erlaubter Bereich: 0 bis 1023 da 10 Bit.
|
16 |
|
17 | //Die Pulsbreite kann nun über das Register OCR1A vorgegeben werden.
|
18 | }
|
Besten Dank!!
PS: Wie kann ich einen Beitrag als "gelöst" markieren?