ATNEL tech-forum
https://forum.atnel.pl/

Drgania styków w przerwaniach
https://forum.atnel.pl/topic22437.html
Strona 1 z 1

Autor:  mateusz186 [ 23 lip 2019, o 21:30 ]
Tytuł:  Drgania styków w przerwaniach

Witam mam problem:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Na początku program ma pokazywać na wyświetlaczu 7 segmentowym x4 "0000" po naciśnięciu przycisku nr 1 (przerwanie int0) wartość ma wzrastać o jeden tz."0001" jeżeli wciśniemy przycisk nr 2 (przerwanie int 1) ma odejmować o jeden. Program działa w przedziałach od 0 do 9999. Do tych przycisków chciałem zrobić "wygaszanie" drgań styków podobnie jak jest to wytłumaczone w tym temacie : forum.atnel.pl/topic6956.html niestety nieskutecznie. Czy wie ktoś co mam zrobione nieprawidłowo oraz w jaki sposób zrobić tak żeby działało ?

Autor:  SylwekK [ 24 lip 2019, o 05:59 ]
Tytuł:  Re: Drgania styków w przerwaniach

Po wciśnięciu przycisku przerwanie się uaktywni, ale w jego obsłudze ustawiasz tylko flagę, która będzie widoczna w pętli głównej i to tam dalej robisz kontrolę przycisku z filtrem debounce. Jeśli przycisk okaże się zatwierdzony wykonujesz co tam miałeś wykonać, a wcześniej (lub po tym fakcie - w zależności od potrzeb) kasujesz flagę, która przyszła z przerwania.

Autor:  mateusz186 [ 24 lip 2019, o 16:52 ]
Tytuł:  Re: Drgania styków w przerwaniach

Wymyśliłem coś takiego działa ale nwm dlaczego na początku pokazuje mi się wartość 1 i automatycznie przeskakuje na zero zamiast 0 na początku

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  SylwekK [ 24 lip 2019, o 17:10 ]
Tytuł:  Re: Drgania styków w przerwaniach

Bezsensowne są te warunki w zewnętrznych przerwaniach. Tam tylko flagę ustawiaj. Poza tym odliczenie do 40 w pętli głównej bez żadnego opóźnienia to tak jak by od razu było tam 40 :)
Proponuję zaopatrzyć się w BB na początek i liznąć postaw.
Aha, czy naprawdę przyciski muszą być z przerwań obsługiwane. Ja nie twierdzę, że czasem jest taka potrzeba (np. wybudzenie procka), ale stosowanie ich ot tak, bo są to proszenie się o problemy, zwłaszcza początkujący. Trzeba wiedzieć, że to strasznie czułe wejścia i nawet ich konfiguracja w złej kolejności może mieć wpływ na spodziewane działanie (o czym się chyba właśnie przekonałeś).

Autor:  mateusz186 [ 24 lip 2019, o 17:27 ]
Tytuł:  Re: Drgania styków w przerwaniach

Która lekcja w książce jest o przerwaniach zewnętrznych i flagach bo właśnie zakończyłem przerwania wewnętrzne

Autor:  mirekk36 [ 24 lip 2019, o 17:30 ]
Tytuł:  Re: Drgania styków w przerwaniach

mateusz186 napisał(a):
Która lekcja w książce jest o przerwaniach zewnętrznych i flagach bo właśnie zakończyłem przerwania wewnętrzne

Zajrzyj chociażby do przykładu o RTC gdzie pokazuję ogólnie mechanizm flagi

A przy okazji ustaw sobie na forum (w ustawieniach swojego profilu ikonkę - że masz już BB) ;)

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/