SylwekK napisał(a):
I to jest właśnie to wspomniane ryzyko!
Tzn ja bym zwrócił uwagę - że ryzyko wiąże się jeszcze z czym innym równie ważnym ... tzn ryzyko w tych przypadkach to może za duże słowo - bo jak się dobrze wszystko przemyśli to można sporo wycisnąć ale ...
oczywiście jeśli chodzi o timery programowe ....
odpalanie ich co 1 ms (i nie ważne w oparciu o jaki timer sprzętowy) ... niesie za sobą już ŚCISŁĄ kontrolę tego tzn tych funkcji, które są odpalane co 1 ms

.... bo czas nagle mega krótki - a rzadko kto, nie znający jeszcze asemblera - sprawdzi sobie ile czasu zajmuje mu funkcja wywoływana co 1 ms!. Tymczasem dość łatwo przekroczyć czas 1 ms w takim przypadku - a wtedy co mamy ?

.... wtedy mamy extra sieczkarnię
efekty są nieco podobne jak w sytuacji gdy np w przerwaniach sprzętowych ktoś korzysta z _delay_ms() albo obsługi LCD czy innych dłuższych procesów. Wtedy przerwania się nakładają i efekt jest taki - że wygląda jakby przerwania działały w miarę ok ale program główny prawie nie żyje ...
Niestety w przypadku timerów programowych efekt będzie nieco bardziej koszmarny i ciężko będzie nawet nieraz w ogóle dojść co jest powodem takiego a nie innego zachowania programu. To już prawie takie efekty specjalne jak przy problemach ze stosem

o których wspominam w Greenbooku, tyle że tu przy timerach programowych nawet tego wprost nie sprawdzimy takim narzędziem jakie opisałem w książce

otóż nakładające się wywołania (zbyt częste a zbyt długie) timerów programowych co 1 ms ... będą obleśnie rozciągały (że użyję takiego kociego określenia)

... wszystko w programie głównym ... wtedy nie dość że zacznie się sypać wszystko co ma działać co 1 ms to jeszcze się okaże - że zacznie mieć to wpływ także nawet na inne timery programowe .... efekty więc będą przedziwne w zależności od tego co kto spłodzi jeśli chodzi o kod źródłowy

i nie do opisania w jakiś prosty sposób - żeby podpowiedzieć że np ..... jak źle zrobisz to możesz spotkać się z problemem X albo Y albo Z
_________________
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 ]