Dziękuję CI serdecznie za wskazówki. Przyznam że już wczoraj siedziałem mocno, zeby wynikiem funkcji debounce było wykonanie funkcji i 2 jak to zrobił Mirek, ale niestety w Arduino trochę rzeczy jest prostszych a trochę przez tą automatyzację nie do końca jasnych. Niemniej po paru godzinach walki z dziwnymi błędami musiałem sobie odpuścić.
Wersję ze strukturą też przerabiałem, ale wyskakuje błąd kompilacji
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Arduino nie ropzoznaje że to jest zadeklarowane wcześniej struktura.
Ale pomyślałem że zadeklaruję wcześniej funkcję a definicję zrobię na końcu i poszło. Tylko teraz mimo że działa to nie działa tak jak powinna.
tzn po wciśnięciu klawisza cały czas z prędkością zegara ten klawisz jest repetowany.
A analizując program.
wciśnięcie przycisku rozpoczyna odliczanie czasu i nic więcej.
puszczenie przycisku - w zależności od czasu (jeśli za krótki to nic nie robi) wykonuje instrukcję od krótkiego naciśnięcia lub długiego.
Analizując kod doszedłem że niepotrzebnie wynik funkcji zapisywany jest do struktury. W końcu to funkcja uint8_t i wywalając to ze struktury i przerabiając działa. UFFF. dzięki bo po pierwszuch błędach kompilacji myślałem ze nic z tego nie będzie.
Ale idąc dalej czy nie dałoby się przekazac wskaźnik na funkcję SHORT oraz LONG zamiast 10 lub 20?
Dziękuję za pomoc - Tak na razie wygląda działający kod, ale młoda godzina więc idę walczyć dalej.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.