Sprawdzanie zmiennej niezależnie od delay() - 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: Sprawdzanie zmiennej niezależnie od delay() (/watek-sprawdzanie-zmiennej-niezale%C5%BCnie-od-delay) |
Sprawdzanie zmiennej niezależnie od delay() - emil134679 - 27-07-2020 Witam grono, Ktoś może podsunąć mi rozwiązanie problemu związanego z programem, który ma się następująco. Przeprowadzam pomiary z kilku czujników, na wyświetlenie każdego z nich na LCD jest przeznaczony odpowiedni delay. Chcę dodać funkcję ustawień do nastaw. Dodałem przerwanie, robię zmienną z 0 na 1, część wyświetlającą wyniki mam w while(x == 0) a ustawienia analogicznie w (x == 1) . Problem polega na tym że pętla musi "przelecieć" swój obieg aby program zareagował na zmianę parametru X. Co mogę z tym zrobić wystrzegając się jak diabła przepisywania programu z wykorzystaniem millis()? Dziękuje za sugestie i pozdrawiam forumowiczów. RE: Sprawdzanie zmiennej niezależnie od delay() - kaczakat - 27-07-2020 Chcesz zrobić sensowny program to naucz się używać millis zamiast delay. Można sprawdzać w przerwaniach timera sprzętowego, ale jak nie umiesz prostszych rzeczy to tylko sobie zrobisz bałagan na strychu. Szkoda Ci przepisać program? Trzeba ich napisać setki w różnych wersjach, to każdy kolejny jest łatwiejszy, palce zaczynają same pisać algorytmy. Uwierz, że prawie wszyscy boją się rzeczy, których nie rozumieją i nie umieją robić. Boją się nawet podjąć próbę zrozumienia. Potem będziesz się z tego śmiał. I dalej bał spróbować zrozumieć innych rzeczy... A to powyżej to while (x) lub whiel(! x) i masz to samo dla x dopóki 1 i dopóki NIE 1. RE: Sprawdzanie zmiennej niezależnie od delay() - emil134679 - 27-07-2020 Szukam rozwiązania poza millis()...i tyle, nie mam zamiaru oglądać w logach bałaganu po 50kilku dniach funkcjonowania arduino gdy millis() się zapełni więc tak szkoda mi przepisać program bo pogorszę sprawę RE: Sprawdzanie zmiennej niezależnie od delay() - kaczakat - 28-07-2020 Klątwa 50 dni millis() dotyka tylko tych, którzy nie umieją z tej funkcji korzystać. Zwróć uwagę, na komentarz o klątwie: Kod: #define led 13 Funkcja powyżej używana w ESP8266 też gubi sekundę co kilka minut, widać to w logach przy wysyłaniu na serwer thinkspeak, dla mnie to nie ma znaczenia, ale łatwo to można skorygować zdejmując kilka ms ze zmiennej. Serwer z tym działał mi prawie rok, pierwszy zgon zaliczył gdy padło zasilanie. |