Chcialbym zrobic PWM o stalym wypeleniu rownym 50%. Jesli zas chodzi o CTC to ten tryb rozumiem w ten sposob, ze w OCR2 nadaje jakas wartosci czyli moja ziarnistosc...
No i potem licznik zlicza w gore i jak wartosc TCNT2 zrowna mi sie z OCR2 to nastepuje jego zerowanie i zmiana stanu na wyjsciu OC2?
Moim glownym problemem jest to ze nie wiem jak zmieniac wypelnienie...?
W COMPARE OUTPUT MODE ustawilem :
COM21= 1
i
COM20= 0
Co oznacza ze nastepuje zerowanie sie wyjscia OC2 w chwili porownania jednak potem musze je na nowo ustawic na 1?
Reasumujac czy noga procka oznaczona jako OC2 poprzez swoje wlacz/wylacz sluzy do generownia wypelnienia?
PS:Wklejam kod :
----------------------
Pozdrawiam
No i potem licznik zlicza w gore i jak wartosc TCNT2 zrowna mi sie z OCR2 to nastepuje jego zerowanie i zmiana stanu na wyjsciu OC2?
Moim glownym problemem jest to ze nie wiem jak zmieniac wypelnienie...?
W COMPARE OUTPUT MODE ustawilem :
COM21= 1
i
COM20= 0
Co oznacza ze nastepuje zerowanie sie wyjscia OC2 w chwili porownania jednak potem musze je na nowo ustawic na 1?
Reasumujac czy noga procka oznaczona jako OC2 poprzez swoje wlacz/wylacz sluzy do generownia wypelnienia?
PS:Wklejam kod :
----------------------
int main ()
{
TIMSK = (1<<OCIE2)|(1<<TOIE2);
TCNT2=0; //zerowanie licznika -profilaktycznie
TCCR2 = (1<<WGM21)|(1<<CS20)|(1<<COM21);//ustawnie tryby CTC
// pleskalera na "1" ,and Toggle Oc2 On Compare Match
DDRB=0xFF;
PORTB=0xFF;
while (1)
{
OCR2 = 100; //ziarnistosc do obliczenia jeszcze
TIFR=0xFF; // zgaszenie flag przerwan
}
}Pozdrawiam