Witam.
Posiadam enkoder obrotowy TP EC-11SP-1-2-1, podobny do tego, co był wzmiankowany w innym wątku: https://www.elektroda.pl/rtvforum/topic2421833.html
Do mojego projektu potrzebuje nastawu docelowej temperatury, który chce zrealizować przy pomocy owego enkodera. W tym celu postanowiłem wykorzystać przerwania, i fakt, że w czasie opadania przebiegu na styku A styk B ma stan wysoki lub niski, co można wykorzystać do ustalenia kierunku obrotu gałki. Niestety, nie działa to jak trzeba, niezależnie w którą stronę kręcę, to wartość nastawianej temperatury tylko się zwiększa.
Co zrobiłem nie tak jak trzeba?
Enkoder jest podłączony do INT0 (PD2) i PD6, z równoległymi kondensatorami 100nF i zewnętrznymi rezystorami pull-up.
Kod (fragmenty adekwatne do problemu, innych przerwań nie wykorzystuje).
Posiadam enkoder obrotowy TP EC-11SP-1-2-1, podobny do tego, co był wzmiankowany w innym wątku: https://www.elektroda.pl/rtvforum/topic2421833.html
Do mojego projektu potrzebuje nastawu docelowej temperatury, który chce zrealizować przy pomocy owego enkodera. W tym celu postanowiłem wykorzystać przerwania, i fakt, że w czasie opadania przebiegu na styku A styk B ma stan wysoki lub niski, co można wykorzystać do ustalenia kierunku obrotu gałki. Niestety, nie działa to jak trzeba, niezależnie w którą stronę kręcę, to wartość nastawianej temperatury tylko się zwiększa.
Enkoder jest podłączony do INT0 (PD2) i PD6, z równoległymi kondensatorami 100nF i zewnętrznymi rezystorami pull-up.
Kod (fragmenty adekwatne do problemu, innych przerwań nie wykorzystuje).
Kod: text