Witam,
W programie ustawiam wartość od 120 do 42000 za pomocą enkodera z przyciskiem(obrót enkodera powoduje przerwanie a w niej jest procedura Pana Mirka rozpoznająca w którą stronę wykonał obrót), wciśnięcie powoduje zwiększenie liczy o jaka inkrementuję/dekrementuje wartość (1, 10, 100 lub 1000). Ustawiona wartość jest wyświetlana na wyświetlaczu. Chciałem podświetlić np liczbę dziesiątek gdy wartość inkrementacji/dekrementacji jest 10 itp.
Próbowałem z kursorem sprzętowym i udało się to osiągnąć w zakresie do 999 dla miejsca jedynek, inne miejsca bym zrobił na warunkach i przestawianiu kursora ale niestety działo to jakby z lekkim opóźnieniem. Chciałem to zrobić na warstwach (czytałem artykuł) ale nie wiem jak się za to zabrać i niestety pin RW w lcd jest podpięty do masy (zrobiłem już płytkę, więc raczej nie ma możliwości podpięcia pinu RW).
Tu jest fragment kodu odpowiedzialny za wyświetlanie informacji na LCD i obsługę przerwania
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
na powyższym kodzie wartość enkoder działa dobrze, ale wartość częstotliwość (czyli f) nie zgrywa się ze zmianą wartości enkodera.
Czy ktoś może podpowiedzieć lub nakierować jak się za to zabrać?