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



Teraz jest 23 gru 2024, o 14:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 10 mar 2014, o 11:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 sie 2012
Posty: 198
Lokalizacja: /dev/null
Pomógł: 2

Witam mam problem z napisanym kodem, błąd polega powolnej reakcji na wciśnięty przycisk pomiędzy przejściem z 1 bloku if na 2 blok if ,efekt wygląda jak by był mikroprocesor zajęty
proszę o pomoc w tym i wytłumaczeniu jak na przyszłość poprawnie napisać kod.
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2014, o 15:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Trudno się dziwić procesorowi, skoro zostało narzucone tak duże opóźnienie funkcjami "delay" (rzędu sekund)...
Nigdy nie miałem styczności z Arduino, ale ten artykuł powinien pomóc: http://playground.arduino.cc/Code/AvoidDelay#.Ux3R6rVJOEV

Dla szybkiej reakcji na naciśnięcie klawisza najlepszym rozwiązaniem jest użycie przerwań zewnętrznych wyzwalanych zboczem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2014, o 22:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 paź 2011
Posty: 780
Pomógł: 20

Bounce bouncer = Bounce(swith, 50) ;

to wcale nie jest konieczne wystarczy delay po wciśnięciu klawisza :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2014, o 03:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 sie 2012
Posty: 198
Lokalizacja: /dev/null
Pomógł: 2

stachu napisał(a):
Bounce bouncer = Bounce(swith, 50) ;

to wcale nie jest konieczne wystarczy delay po wciśnięciu klawisza :)

Czyli mam wyrzucić z kodu obsługę filtracji drgań styków ? :).

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 mar 2014, o 17:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 paź 2011
Posty: 780
Pomógł: 20

Zdecydowanie na początku tak popatrz co masz w examples :)

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


dobrze że pin na którym masz button ustawiasz w stan wysoki nie musisz martwić się zewnętrznym rezystorem :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2014, o 06:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 18 sie 2012
Posty: 198
Lokalizacja: /dev/null
Pomógł: 2

Poprawiłem kod jest nie co lepiej , ale nadal jest babol ze blok if wykonuje działanie do końca i nie reaguje procek na button , dopiero reaguje kiedy if kończy zadanie czyli przy 8 diodach jak gasi 8 dioda i w tym czasie kliknę buttona to przechodzi do 2 if
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

albo jest błąd w kodzie lub trza iść w stronę przerwań zewnętrznych wtedy to ma sens
działanie kodu mojego miał polegać jak na tym filmiku z yt

_________________
sig off ;(



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 7 gości


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO