Hallo Zusammen...
Ich habe folgende Initialisationsroutine für meinen 16Bit PWM erstellt
ich will zwei verschiedene Kanäle mit der gleichen PWM_Einstellung
benutzen...
Nun habe ich bei meinem ATMega64 einen externen 8Mhz Quarz angebracht zu
meiner ersten Frage wieso erhalte ich bei einem Prescaler von 1 nur eine
Frequenz von 8kHz und nicht die 8Mhz des Quarzes
1 | ICR1 = 0xFFFF; //Maximaler PWM-Zählerwert
|
2 | TCCR1A = (1<<WGM11)|(0<<WGM10); //PWM, Phase Correct, 16Bit
|
3 | TCCR1B = (1<<WGM13)|(0<<WGM12);
|
4 |
|
5 | TCCR1A |= (1<<COM1A1)|(1<<COM1B1); //PWM Waveform
|
6 | TCCR1B = (1<<CS10)|(0<<CS11)|(0<<CS12); //Prescaler 1
|
Wenn ich das ganze richtig verstehte so kann ich doch nun die OCR1A und
OCR1B register mit einem Wert zwischen 0 und 65535 füllen und somit das
Impuls/Pausen Verhältnis ändern. Wenn ich jedoch meinen PWM Ausgang mit
einem Oszilloskop betrachte, so habe ich bereits bei etwa 510 das
maximum von konstant 5V am Ausgang erreicht wieso das? Das maximum
sollte doch erst bei 65535 erreicht werden...
Besten Dank für eure Anregungen Chrislight