Całkiem niedawno ogarnąłem sobie książkę Bluebook i zaczynam programować AVRy. Zacząłem już wymyślać własne projekty, w między czasie czytając dalej książkę. Do pewnego czasu wszystko działało w porządku, ale zatrzymałem się na obsłudze klawiszy we Wstępie do systemów czasu rzeczywistego. Mianowicie chciałbym zrobić tak aby klawisze włączające i wyłączające zwykłą diodę LED działały płynnie w sensie Klik i świeci - Klik i gaśnie. Obecnie sprawa ma się tak, że muszę przytrzymać przycisk ok 1,5 sekundy i świeci - drugi przycisk 1,5 sekundy i gaśnie. Jeżeli zaklikam jakiś krócej, szybciej wtedy już działa jeszcze gorzej.
Czy to tak "oryginalnie" ma wyglądać? Wewnętrzny oscylator ustawiłem na 8MHz, JTAG wyłączony. Czy może jednak jako początkujący coś pominąłem?
Nie. Argumentami funkcji SuperDebounce są funkcje uruchamiane albo przy wciśnięciu albo przy trzymaniu. Ta pierwsza wykonuje się od razu, a druga cyklicznie. Zobacz czy wstawiłeś odpowiednią funkcję. Jeśli 2 sposób wywołania nie jest używany wpisz NULL.
Niestety to też nie daje odpowiedniego działania. Wpisywałem już także taką samą funkcję zamiast NULL - identycznie. Uprościłem kod do możliwego minimum, aby mogły działać klawisze z diodą. Obecnie kod wygląda jak poniżej. Zamieszczam również klip na którym widać, że początkowo działa to nawet ok, później natomiast nie zawsze jest reakcja na wciśnięte klawisze. Zauważyłem że gdy dany klawisz nie reaguje, należy wcisnąć jeszcze raz drugi po czym temu pierwszemu wraca już życie.
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość
Nie możesz rozpoczynać nowych wątków Nie możesz odpowiadać w wątkach Nie możesz edytować swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników