Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 9 kwi 2020, o 21:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 23 lip 2019, o 21:30 
Offline
Nowy

Dołączył(a): 13 lip 2019
Posty: 23
Pomógł: 0

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 ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2019, o 05:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1734
Lokalizacja: Lipsko
Pomógł: 117

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.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2019, o 16:52 
Offline
Nowy

Dołączył(a): 13 lip 2019
Posty: 23
Pomógł: 0

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.



Ostatnio edytowano 24 lip 2019, o 17:13 przez mateusz186, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2019, o 17:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1734
Lokalizacja: Lipsko
Pomógł: 117

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 postu otrzymał pochwałę

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2019, o 17:27 
Offline
Nowy

Dołączył(a): 13 lip 2019
Posty: 23
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2019, o 17:30 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 25330
Lokalizacja: Szczecin
Pomógł: 958

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) ;)


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO