Re: Debouncing

Sep 09, 2003 29 Replies

W artykule snipped-for-privacy@poczta.onet.pl>

ziel napisal(a):

PS5. do _mnie_ ;-) Zaślęczyłbym się na śmierć, gdyby nie gcc ;-)) Choć na początku myślałem, że gcc zaślęczy mnie na śmierć.

Pozdrawiam

Marcin Stanisz

U¿ytkownik "Piotr Wyderski" snipped-for-privacy@hoga.pl napisa³ w wiadomo¶ci news:bjo8qf$d9r$ snipped-for-privacy@nemesis.news.tpi.pl...

No jasne. Wszystko piêknie dopóki poruszamy siê w sferze teorii. W praktyce przychodzi potencjalny klient i mówi ¿e chce to i tamto. Na podstawie tych wymagañ projektuje siê sprzêt, robi prototyp, pisze program. A jak klient zobaczy dzia³aj±cy prototyp to wpadaj± mu do g³owy rózne psie my¶li ;-) I zaczyna siê dok³adanie a ca³a wstêpna analiza programu nadaje sie do przeróbki na rolki szarego papieru :-)

W tym problem ¿e ci ludzie to s± klienci który nie maj± zielonego pojêcia o konstruowaniu czegokolwiek a w szczególno¶ci uk³adów mikroprocesorami.

On Behalf Of Piotr Wyderski

Nie naprawiaj tego co dobrze pracuje. Ale jeśli : cierpisz na nadmiar wolnego czasu, nie możesz spać, a na widok piwa nabierasz światłowstrętu - to połącz jedno z drugim ;-). Mam klawiaturę (matrycową) podpiętą pod wyświetlacz LED i odświeżając LED jednocześnie badam klawisze. A dzieki temu, że odbywa się to w przerwaniu timer1, nie ma miejsca na "pływanie" wyświetlanych cyfr oraz moge precyzyjnie określić timeout klawiszy. Źródło oczywiście w BASCOM :-D

pzdr Artur

Ja robie dokladnie tak samo.

U mnie tez nie ma problemu. Petla glowna wyglada w przyblizeniu tak:

for(;;) {

reset_timer(); obsluga_klawiatury(); obsluga_wyswietlacza(); ADC(); obsluga_PWM_oraz_pozostalych_dziwnych_rzeczy();

while(!timer_overflow); }

Timer jest ustawiony na 1 ms, wiec timeouty mierzy sie bardzo prosto.

A ja wole w asemblerze. :-P

Pozdrawiam Piotr Wyderski

Dla niego i tak nie ma innego zastosowania, wiec co najwyzej moge go wylaczyc. :-)

16600 przerwan na sekunde? Dziekuje, postoje. ;-)

To oczywiste, ale obsluga "pustych" przerwan albo ich maskowanie w zaleznosci od potrzeby sporo kosztuje. Poza tym przy takiej czestotliwosci ich wystepowania przerwania beda wypadaly w cyklu pomiarowym ADC, bardzo wplywajac na wynik pomiaru (przeciez ja licze _cykle_ w procedurze konwersji). Jesli je na ten czas wylacze, to nie bede mial precyzyjnego ustalania czasu obiegu petli glownej. Slowem: timer i jego polling zostaja. :-)

Czyli kilka procent mocy obliczeniowej sie marnuje. :-)

Pozdrawiam Piotr Wyderski

Osoba podająca się za: ziel przyczyniła się do uszczuplenia moich skromnych zasobów dyskowych ;-) wraz z kolejną wiadomością wysłaną

03-09-10 22:10: <ciach opis programu>

Mogę prosić? Jakby mozna było to razem z tym fragmentem sterującym trzecim timerem :-)

Ja mam 8-bitowy (AT90S2313 @ 8,4672 MHz), wystarcza z zapasem, a glownie potrzeba mi bylo wysokiej czestotliwosci.

2 cykle na dzialke to rozdzielczosc licznika cykli, ale moga wystapic przeciez drobne fluktuacje w procesie ladowania kondensatora itp., co nie pozwoli traktowac powaznie LSB. Dlatego pomiary robie 4 razy dluzsze i dodatkowo usredniam wyniki 4 ostatnich, co daje bardzo przyzwoity efekt, na oko rozdzielczosc jest znacznie lepsza niz zakladane 8 bitow, ale nie wiem ile. BTW, wlasnie skonczylem implementowanie obslugi klawiaturki metoda Jerrego i calosc ruszyla od pierwszego wlaczenia -- bardzo dziekuje wszystkim za cenne rady i chyba wypada zamknac watek. :-)

Pozdrawiam Piotr Wyderski

Dobre _przyzwyczajenie_ programisty?

Wiesz - zawsze mozna rozbudowac program, a jak sie przegnie z przerwaniami, to pozniej juz ciezko _wyszkrobac_ czas procesorka pod nowe zadania ;-)

Miłej nocki. __ Pzd, Irek.N.

BTW: bardzo fajna książka dla programistów:

formatting link
To nie reklama - po prostu naprawdę niezła książka...

To ja jeszcze pozwole sobie polecic "The Art of Unix Programming" autorstwa ESR. Co prawda slowko Unix moze przerazic co bardziej bojazliwe osoby, ale nie ma sie czego bac. Poza oczywista dawka wiedzy czysto unixowoprogramistycznej, zawiera bardzo duzo wiedzy z zakresu inzynierii oprogramowania, ktora powinna byc znana kazdej osbie, ktora ma zamiar brac sie za pisanie czegokolwiek bardziej skomplikowanego niz "hello world". Ksiazka jest dostepna online pod adresem

formatting link
pzdr. j.

--

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required