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



Teraz jest 1 mar 2025, o 05:26


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 26 mar 2016, o 19:13 
Offline
Nowy

Dołączył(a): 26 mar 2016
Posty: 4
Pomógł: 0

Witam od niedawna zacząłem "zabawę" z mikrokontrolerami, programowaniem etc.
Oglądałem poradniki dla początkujących od pana Mirka i zawiesiłem się w miejscu obsługi klawiszów, mój problem polega na tym, że chciałbym przypisać 1 klawisz do obsługi 5 cykli, z tym że zmiany cykli polegałyby na kliknięciu klawisza, a nie np. przytrzymaniu przez jakiś czas. Z góry dziękuje za pomoc i wytłumaczenie na czym to polega.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2016, o 19:47 
Offline
Moderator
Avatar użytkownika

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

syphon001 napisał(a):
Oglądałem poradniki dla początkujących od pana Mirka i zawiesiłem się w miejscu obsługi klawiszów, mój problem polega na


przypominam, że moje poradniki wideo są tworzone jako uzupełnienie do książek - bo bez podstaw niestety zawsze będzie taki efekt. A więc jako kolejny etap polecam książkę: http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

od tego warto zacząć - bo niestety idziesz w kierunku pisania programów w sposób blokujący i to jest twoja pułapka. W książce zaś prowadzę czytelnika tak aby przede wszystkim zrozumiał co to znaczy pisać programy w sposób nieblokujący i żeby zaczął to stosować w praktyce.

_________________
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  
PostNapisane: 26 mar 2016, o 20:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
syphon001 napisał(a):
... zawiesiłem się w miejscu obsługi klawiszów, mój problem polega na tym, że chciałbym przypisać 1 klawisz do obsługi 5 cykli, z tym że zmiany cykli polegałyby na kliknięciu klawisza,

Opisz to może bardziej czytelnie bo też się zawiesiłem - są tu na forum osoby starsze i czasem trzeba tak kawę na ławę ;)
Czy to ma być: naciskam - coś_tam1, naciskam - coś_tam2 itd. czy: naciskam raz - coś_tam1, naciskam dwa razy - coś_tam2, trzy razy - coś_tam3.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2016, o 01:15 
Offline
Nowy

Dołączył(a): 26 mar 2016
Posty: 4
Pomógł: 0

naciskam jest cykl 1, znowu naciskam robi się cykl 2, następnie znowu naciskam robi się cykl 3 itd. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2016, o 07:58 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Próbowałeś użyć for(;;)? W obsłudze przycisku wystarczy dać postinkrementację zmiennej dla warunku w for.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2016, o 10:05 
Offline
Użytkownik
Avatar użytkownika

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

For jest tu niepotrzebne, po prostu inkrementuj zmienną w momencie wciśnięcia guzika i badaj jej stan. W zleżności od jej wartości możesz mieć na niej setki funkcji w sposób, o który ci chodzi. Dobrze jest też uruchomić sobie w takim przypadku timer i wykonywać polecenie dopiero po chwili od zmiany wartości aby był czas kiedy np. z pozycji 1 chcesz przejść do funkcji 4. Dzięki opóźnieniu reakcji nie wykona sie funkcja 2 i 3.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2016, o 14:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sie 2013
Posty: 165
Lokalizacja: Sycyna Południowa
Pomógł: 4

Witam. Mozna też zrobić to za pomocą funkcji switch i inkrementowac zmienną w procedurze obsługi przycisku. Z timetem też swietny pomysł :)



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

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