21-10-2016, 21:00
Proszę bardzo. Już objaśniam:
Jak wiemy program główny jest umieszczony w funkcji void loop () { // jakiś kod programu }
Program wykonuje się do napotkania wywołania funkcji, w naszym przypadku "obsluga_menu()".
Program wyskakuje z naszej pętli głównej i przechodzi do naszej napisanej funkcji "obsluga_menu()", wykonuje to co mu tam nakazaliśmy (obliczenia, wyświetlanie, pomiary i co nam fantazja przyniesie). Po zakończeniu funkcji wraca do pętli głównej programu i go kontynuuje aż do napotkania kolejnej funkcji lub przerwania. W momencie wyjścia z pętli głównej programu stany na wyjściach/wejściach procesora nie zmieniają się. Chyba że mu tak każemy. Jak to mawiała moja nauczycielka informatyki - " Procesor to jest taki mądry głupek. Zrobi wszystko tylko musisz mu powiedzieć jak ma to zrobić".
Kod:
// --- przykładowa funkcja program główny ----------------------------------------------------------------
void program_glowny() // tutaj Twój program wykonuje swoją pracę niezależnie od MENU
{
/*
To tutaj umieszczasz:
- odczyt danych z czujników
- reakcje na przekroczenie temperatury
- wszystkie ważne funkcje wykonywane przez program
*/
Serial.println("=== WYKONUJE PROGRAM GLOWNY ====");
obsluga_menu(); //aby w każdej chwili móc przerwać program i przejść do ustawień menu
}
Program wykonuje się do napotkania wywołania funkcji, w naszym przypadku "obsluga_menu()".
Program wyskakuje z naszej pętli głównej i przechodzi do naszej napisanej funkcji "obsluga_menu()", wykonuje to co mu tam nakazaliśmy (obliczenia, wyświetlanie, pomiary i co nam fantazja przyniesie). Po zakończeniu funkcji wraca do pętli głównej programu i go kontynuuje aż do napotkania kolejnej funkcji lub przerwania. W momencie wyjścia z pętli głównej programu stany na wyjściach/wejściach procesora nie zmieniają się. Chyba że mu tak każemy. Jak to mawiała moja nauczycielka informatyki - " Procesor to jest taki mądry głupek. Zrobi wszystko tylko musisz mu powiedzieć jak ma to zrobić".