viod loop kolejności - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: viod loop kolejności (/watek-viod-loop-kolejno%C5%9Bci) |
viod loop kolejności - Jarewa0606 - 14-02-2019 Mam takie zapytanie laika void setup - to wiadomo Ale jeżeli sobie skonstruowałem tak: void loop();{ x(); y(); z(); } void z(){ kod } void x(){ kod } void y(){ kod } Która kolejność się liczy?? odwołanie w loop czy z góry na dól void z,x,y.... Czy to obojętne i leci wszystko z góry na dół... RE: viod loop kolejności - kaczakat - 14-02-2019 To co masz poniżej loop to definicje funkcji, takie przepisy na ciasto, to co wewnątrz loop to ich wywołanie, czy faktycznie wykorzystanie przepisu - robienie ciasta. Nie ważne jak masz poukładane przepisy na ciasta na półce, upieką się tak jak je zaczniesz wykorzystywać. Możesz mieć nawet tak, że przepis na krem użyjesz w przepisie na ciasto, wtedy kolejność też nie ma znaczenia, przynajmniej w Arduino nie ma znaczenia jak je sobie definiujesz, ale co do zasady powinny być jeszcze deklaracje przed wywołaniem gdzie podajesz tylko nazwę funkcji, typ argumentu i typ zwracanej wartości. Na szczęście Arduino zanim wywali błąd sprawdza czy nie ma tego gdzieś zdefiniowanego już po wywołaniu. Czyli krótko, ta kolejność z loop się liczy. RE: viod loop kolejności - Jarewa0606 - 15-02-2019 Dzięki, a czy definicje funkcji mają być przed setup?? bo widziałem takie przykłady. Odnośnie deklaracji powinna być zaraz pod bibliotekami? RE: viod loop kolejności - kaczakat - 16-02-2019 Najważniejsze byś wiedział, że mają być. Zasada jest taka jak ze zmiennymi, powinny być przed użyciem przynajmniej deklaracje, możesz sobie podzielić bloki programu tak by mieć porządek, dodawanie bibliotek, define, zmienne, obiekty, funkcje, setup, loop, definicje funkcji - jak Ci wygodnie, tak by się nie gubić. Jak kodu przybędzie to i tak trzeba kombinować inaczej. RE: viod loop kolejności - Jarewa0606 - 16-02-2019 czyli biorąc powyżej przykład: void x (int, int); void y (int); // int to tylko przykład w tym miejscu ma być obiekt, funkcja. void z(int,int); void setup(){ } void loop();{ x(); y(); z(); } void z(){ kod } void x(){ kod } void y(){ kod } RE: viod loop kolejności - kaczakat - 16-02-2019 Na pewno nie może być być tak że w nagłówku masz void x (int, int); a potem piszesz funkcję void x(){kod}. To musi być identyczne, nie możesz obiecywać, że użyjesz dwóch intów jako argumenty, a potem nie podać tego w definicji funkcji, nie możesz zdefiniować funkcji z dwoma argumentami, a przy wywołaniu np. w loop ich nie podać. To musi być wszystko identyczne. Tak samo zwracane wyniki. Nie możesz zrobić funkcji void a potem w ciele funkcji użyć return 5. Już lepiej po prostu pominąć deklarację nagłówków, Arduino to przecierpi, znajdzie, użyje. RE: viod loop kolejności - Jarewa0606 - 16-02-2019 Kurcze tak to zrozumiałem jak tu http://edu.pjwstk.edu.pl/wyklady/pro/scb/PRG2CPP_files/node59.html RE: viod loop kolejności - kaczakat - 16-02-2019 Nie wiem, może dobrze myślisz, ale źle napisałeś. Zobacz co masz, a ma być tak: Kod: void x (int, int); //tu moga byc nazwy, ale nie musza |