Witam
Mam problem polegający na tym, że potrzebuje napisać program, który po odczytaniu stanu niskiego na pinie np. pinb.0 utrzyma ten stan przez ok. 2 sekundy.
Wygląda to tak:
Mam diodę nadawczą i fototranzystor podlączony do pinu procesora. Gdy sygnał z diody nadawczej dociera do fototranzystora to procesor odczytuje stan wysoki. Gdy coś przerwie sygnał - stan niski. Problem polega na tym, że w przypadku mojego programu stan niski pojawia się tylko na ułamek sekundy (sygnał ten ma przerywać przelatująca kulka) i spowrotem przeskakuje na stan wysoki. Jest jakiś sposób by po zmianie na stan niski procesor przestał odczytywać stan tego pinu jak wyżej napisałem na ok. 2s?
W "polskim helpie" do bascoma znalazłem komende "DEBOUNCE" ale po próbie jej zastosowania nic nie wyszło - po prostu nie działa (może coś źle zrobiłem / może ta komenda się do tego nie nadaje?).
Dodanie podprogramu z instrukcją "WAIT" nie rozwiązuje problemu bo procesor jest w tym czasie zajęty, a w planach mam by zajął się wtedy czymś innym.
Mam problem polegający na tym, że potrzebuje napisać program, który po odczytaniu stanu niskiego na pinie np. pinb.0 utrzyma ten stan przez ok. 2 sekundy.
Wygląda to tak:
Mam diodę nadawczą i fototranzystor podlączony do pinu procesora. Gdy sygnał z diody nadawczej dociera do fototranzystora to procesor odczytuje stan wysoki. Gdy coś przerwie sygnał - stan niski. Problem polega na tym, że w przypadku mojego programu stan niski pojawia się tylko na ułamek sekundy (sygnał ten ma przerywać przelatująca kulka) i spowrotem przeskakuje na stan wysoki. Jest jakiś sposób by po zmianie na stan niski procesor przestał odczytywać stan tego pinu jak wyżej napisałem na ok. 2s?
W "polskim helpie" do bascoma znalazłem komende "DEBOUNCE" ale po próbie jej zastosowania nic nie wyszło - po prostu nie działa (może coś źle zrobiłem / może ta komenda się do tego nie nadaje?).
Dodanie podprogramu z instrukcją "WAIT" nie rozwiązuje problemu bo procesor jest w tym czasie zajęty, a w planach mam by zajął się wtedy czymś innym.