Cześć, mój program na Arduino Uno ma za zadanie w pętli loop dokonywać pomiaru odległości (czujnik hc-sr04, biblioteka newping), w momencie gdy zadziała fotokomórka, następuje przerwanie i wykonuje się przeliczenie odległości na wartość współczynnika kąta tarcia
Pętla główna, pomiar odległości:
Poniżej funkcja przerwania, która działa w pętli do momentu wciśnięcia przycisku Pin7 (czas na spisanie wartości):
Mój problem polega na tym, żeby funkcja przerwania wyświetliła się raz. Używam do tego flagi która zmienia swoją wartość na false po wykonaniu. Jednakże w monitorze portu szeregowego po uruchomieniu przerwania nie wykonuje się cała funkcja void kat() tylko wyświetlane są dwa znaki "Od".
Gdy kliknę przycisk pin7 dokończa ta funkcje, czyli wypisuje wartości kąta i wchodzi w pętle główną.
Chciałbym żeby wykonała się cała funkcja kat() i dopiero po wciśnięciu przycisku wróciło do pętli głównej. Możecie jakoś pomóc?
Code: c
Pętla główna, pomiar odległości:
Code: c
Poniżej funkcja przerwania, która działa w pętli do momentu wciśnięcia przycisku Pin7 (czas na spisanie wartości):
Code: c
Mój problem polega na tym, żeby funkcja przerwania wyświetliła się raz. Używam do tego flagi która zmienia swoją wartość na false po wykonaniu. Jednakże w monitorze portu szeregowego po uruchomieniu przerwania nie wykonuje się cała funkcja void kat() tylko wyświetlane są dwa znaki "Od".

Chciałbym żeby wykonała się cała funkcja kat() i dopiero po wciśnięciu przycisku wróciło do pętli głównej. Możecie jakoś pomóc?