Witam.
Chciałem poprosić o pomoc w kwestii wyświetlania tekstu na lcd. Napisałem króciutki kod, który w zasadzie robi swoje, ale nie do końca, jak bym chciał.
Napiszę, jakie było założenie.
1. Dokonywany jest pomiar napięcia.
2. Jeśli wartość adc przekroczy np. 10. to wyświetl napis1 (natychmiast)
3. Jeśli wartość adc zejdzie poniżej 10, to odczekaj 3 sekundy i wyświetl napis2.
Problem polega na tym, że jak szybko ruszę pr-kiem i wrócę do punktu zerowego, to zmiana napisów następuje po trzech sekundach, ale jeśli powoli kręcę tam i z powrotem , to ten czas przełączenia jest losowy (różny). Ja chyba rozumiem, w czym tkwi problem, ale nie potrafię tego w kodzie obejść. Myślę, że kiedy Timer1 zacznie odliczać w dół, to ja mogę być w różnych miejscach na osi czasu tych trzech sekund ( czy mam rację??? ).
Jak by tu zrobić, a żeby Timer zaczął zawsze zliczanie od nowa za każdym razem ,kiedy zejdę poniżej wartości napięcia 10 ? i zawsze ten czas był jednakowy ?. Zastosowałem tu metodę z flagami, a żeby w Timerze nie wykonywać wielu operacji łącznie z wyświetlaniem różnych tekstów. Chciałem to w końcu zrozumieć i chyba zajarzyłem ???? Proszę o jakieś wskazówki i kubeł zimnej wody, jeśli ponownie nababoliłem. Czy ten zamysł z flagą napisałem mniej więcej poprawnie ?. Z góry dziękuję.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.