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



Teraz jest 9 sty 2025, o 06:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 1 lis 2014, o 08:40 
Offline
Użytkownik

Dołączył(a): 24 lut 2013
Posty: 405
Pomógł: 0

Witam,
znalazłem taki program do obsługi przycisku wielofunkcyjnego
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


ale wykorzystuje Timer1 , który już mam użyty w innym podprogramie czy nie można zamienić lub ustawić by współdziałały razem

poniżej konfiguracja Timer1 w podprogramie

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 09:36 
Offline
Użytkownik

Dołączył(a): 13 maja 2014
Posty: 135
Pomógł: 11

Witam

W pierwszym kodzie Timer "taktuje" 750ms, a w drugim 10ms. Dodaj zmienną, która będzie powodować to, co w pierwszym kodzie (czyli tylko ustawienie flagi) gdy osiągnie 75 i wtedy ją zeruj, a inkrementuj ją co 10ms (czyli w "takcie" Timera z drugiego kodu).

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 09:42 
Offline
Użytkownik
Avatar użytkownika

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

A dokładnie, o które funkcje przycisku Ci chodzi, bo może się to w prostszy sposób załatwi. Ten program wdaje mi się trochę przeładowany.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 09:51 
Offline
Użytkownik

Dołączył(a): 24 lut 2013
Posty: 405
Pomógł: 0

ogólnie mam w programie Debounce , podprogramem zapisuje zmienną do eepromu procka zmienna ma index coś takiego

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


za pomocą tego Debounce chce nadpisać zmienną o określonym indeksie ale trzymając dłużej przycisk

------------------------ [ Dodano po: 9 minutach ]

Kolego JanuszuT a jak mam to zrobić konkretnie ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 10:14 
Offline
Użytkownik
Avatar użytkownika

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

Czyli wystarczy Ci tylko rozpoznanie krótki/długi, a to można zrobić w kilku liniach bez wielkich kombinacji i oczywiście z aktywnym debounce i z wykorzystaniem dowolnego timera, w którego przerwaniu robi się tylko malutki timer programowy. Prezentowałem tu gdzieś już moje rozwiązanie. Jak nie znajdziesz to Ci później napiszę, bo teraz z tabletu jadę i muszę już kończyć...

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 12:18 
Offline
Użytkownik

Dołączył(a): 24 lut 2013
Posty: 405
Pomógł: 0

Sylwku ja będzie mógł to kliknij te kilka linii kodu :-) .Dziękuje



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lis 2014, o 19:27 
Offline
Użytkownik
Avatar użytkownika

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

Myślę, że z analizą nie będziesz miał problemu, a po drobnych modyfikacjach można tu nieźle zaszaleć w obsłudze jednym klawiszem ;)

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

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2014, o 12:54 
Offline
Użytkownik

Dołączył(a): 24 lut 2013
Posty: 405
Pomógł: 0

Sylwek a można w prosty sposób uzyskać kilka klawiszy z tą samą zasadą działania , nie komplikując zbytnio kodu ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2014, o 16:15 
Offline
Użytkownik
Avatar użytkownika

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

Dla 3-4-ech przycisków można po prostu powielić ten fragment kodu zmieniając tylko zmienną licznikową L_d, bo dla każdego klawisza musi być identyczna i można użyć jednego timera programowego, tzn. ten co jest wyrzucić przed całą sekwencję badania klawiszy i praktycznie na jedno wyjdzie. Można by pokombinować ze zrobieniem funkcji wywoływanej z programu z parametrem badanego przycisku, ale szczerze mówiąc nie chcę już wracać za bardzo do bascoma. Dla więcej jak 4 przyciski (np.8) dużo bardziej opłaca się zrobić tablicowanie zmiennych. Poniżej przykład, tylko zamiast waitms timer programowy jak w powyższym przykładzie trzeba umieścić, aby program był w pełni "przelotowy". Robiłem komuś kiedyś taki włącznik i w zasadzie uC nic więcej nie robił. To kompletny program. Aha, i warunek to wszystkie przyciski na jednym porcie.

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

_________________
http://www.sylwekkuna.com



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: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO