Pabloos
Dołączył: 18 Mar 2011 Posty: 2
|
Wysłany: Pią Mar 18, 2011 1:38 pm Funkcja Wait
|
|
|
Witam,
W nawiązaniu do 2 części kursu,
Mam pytanie odnośnie działania funkcji "Wait". Co robi mikrokontroler podczas gdy napotka ww. funkcję? Czy marnuje bezczynnie czas czekając np. 1s? Jeśli tak, to teoretycznie tracimy możliwość panowania nad innymi rzeczami. Przykładowo chcę by dioda migała a w międzyczasie steruję silnikiem krokowym. Co zrobić by pogodzić te 2 rzeczy?
Z góry dziękuję za odpowiedź |
|
piotr94
Site Admin
Dołączył: 02 Lut 2010 Posty: 606 Skąd: Kraków
|
Wysłany: Pią Mar 18, 2011 5:00 pm
|
|
|
Witam, w tym czasie procesor wykonuje odpowiednią ilość razy assemblerową funkcję NOP w pętli -czyli jak słusznie zauważasz marnuje bezczynnie czas i tracimy tym samym możliwość kontroli nad innym zadaniem.
Nie wiem czy doczytałeś już może część 5 o timerach, ale tam rzucam nieco światła na tę sprawę na przykładzie niezależnego sterowania diodami. Otóż tak czy inaczej wyjaśnię sprawę, iż w takim przypadku stosujemy właśnie timery, które odmierzają czas (niezależnie od działania reszty programu), a w pętli głównej do ... loop sprawdzamy np. czy program przerwania wystawił nam flagę upłynięcia określonego czasu, wyzerował jakiś programowy licznik itp. (zależy od tego jak realizujemy wielozadaniowość). W takim przypadku możemy bez problemu migać kilkoma diodami, sterować silnikami krokowymi i co tylko jeszcze przyjdzie nam do głowy, a wszystko można ułożyć tak, aby procesor działał prawie że wielozadaniowo. Mam nadzieję że rozwiałem nieco wątpliwości. |
_________________ http://www.piotr94.net21.pl/ |
|