gomes napisał(a):
Poprawilem zgodnie z zaleceniami.
Dorobilem sobie debugera w postaci diody podlaczone do pb0 i problem powstaje (uc sie zawiesza) jak odkomentuje linie 38-44 w ktorych ustawiam timer2. Sprawdzilem w nocie i wszystkie bity rejestrow sie zgadzaja, 3 razy przeczytalem dzial w ksiazce i dalej nie moge zlapac dlaczego to nie dziala.
Jak mozesz prosze potwierdz, czy dobrze rozumiem dzialanie tego przykladu:
taktowanie 8000000/1(preskaler)/200(ocr2)= 40khz, co taki okres inkrementowane jest cnt oraz porownywane z pwmx. Dziala to w przerwaniu wiec ma priorytet tylko zastanawiam sie z jaka predkonscia bedzie w petli glownej inkrementowane pwmx wchodzace do petli for - jak sie maja te czasy oraz wartosci do siebie ? (inaczej, dlaczego w przerwaniu sprawdzamy czy cnt jest wieksze lub rowne pwmx)
Ja bym ci z chęcią pomógł ale tak nagmatwałeś w tym pytaniu że niestety mało rozumiem
przede wszystkim - masz w książce dobrze opisany programowy PWM i dlaczego w przerwaniu działa cnt - może zacznij jeszcze raz od przeczytania tego w książce ok ? strona 229 - popatrz tam bo chyba przeoczyłeś
jeśli chodzi o wyliczenia to też są w książce zobacz od ostatniego akapitu na dole strony 228 ...
40kHz to tylko taktowany jest Timer, ale trzeba to podzielić jeszcze przez 256 kroków PWM'a programowego
_________________
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 ]