Malutki_27 napisał(a):
Przy fastPWM zmień tryb z 7-ego na 3-ci i będzię ok.
Ja na prawdę się zastanawiam jak to jest?

Ktoś zaczyna pierwszą przygodę z PWM. Ma do wyboru po kolei jakieś możliwości .... Okazuje się, że są dwa tryby Fast PWM. Ja tam zwykle wybrałbym (nawet nie wiedząc o co chodzi) pierwszy z brzegu. Ale niektórzy wybierają (nie wiem dlaczego) ten drugi. Co gorsze nawet nie próbują sprawdzić tego pierwszego a przez to poznać różnic pomiędzy jednym a drugim. Dlaczego ? .... zawsze sobie zadaję to pytanie
sorki za to filozofowanie że tak powiem, ale spójrz xarmex na dalsze kolumny tej tabeli i spróbuj dostrzec różnice pomiędzy trybem nr.7 i trybem nr.3 .... Jak znajdziesz różnicę to jeszcze raz pomyśl jak działa PWM, od czego zależy jego regulacja (od jakiego rejestru dokładniej) .... i spróbuj sobie na początek odpowiedzieć dlaczego jeden z tych trybów tobie działa a drugi nie (bo jak zechcesz sprawdzić obydwa to okaże się że jeden będzie działał jak pisze ci wyżej kolega Malutki_27.
------------------------ [ Dodano po: kilkunastu sekundach ]xamrex napisał(a):
Musi być pwm with phase
Może - panie kochany - może....
ale nie musi.
------------------------ [ Dodano po: 36 minutach ]Podpowiem na wszelki wypadek, że tryb nr.7 ma więcej wspólnego z CTC niż PWM (ale o tym jest wzmianka w nocie PDF) ....
Cytuj:
Setting the OCR2A equal to MAX will result in a constantly high or low output (depending on the polarity of the output set by the COM2A1:0 bits.)
A frequency (with 50% duty cycle) waveform output in fast PWM mode can be achieved by setting
OC2x to toggle its logical level on each compare match (COM2x1:0 = 1). The waveform
generated will have a maximum frequency of foc2 = fclk_I/O/2 when OCR2A is set to zero. This feature
is similar to the OC2A toggle in CTC mode, except the double buffer feature of the Output
Compare unit is enabled in the fast PWM mode.
czyli wynika z tego (i z opisu pod tabelką bitów COMxn dla Fast PWM, że w tym przypadku porównywanie nie jest wykonywane - mamy zatem czysty jakby tryb CTC, ale ....
.... ale jest zmiana w OCRxA jest podwójnie buforowana, czyli np w CTC jeśli zmienisz OCRx to od razu zmieni się okres - a zatem jeden przejściowy okres w trakcie przestawiania może być że tak powiem wadliwy
za to w tym MODE 7 mamy taką sytuację, że jeśli zmienimy OCRx to nie ma to od razu wpływu na stan wyjścia OCx i przebiegu na nim a kiedy ? Dopiero wtedy gdy następuje UPDATE w tabelce - w naszym przypadku widać tam BOTTOM, czyli dopiero przy zmianie (zakończeniu okresu) .... dzięki czemu dopiero ładnie kolejny okres będzie równy ...
jakie może być tego zastosowanie praktyczne ? kiedy użyć takiego "sztucznego" CTC ? zamiast typowego CTC ? - no nie podam teraz tak z głowy - bo sam jeszcze nie trafiłem na specjalną potrzebę aby z tej właściwości skorzystać. Ale warto wiedzieć że taka jest.
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]