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



Teraz jest 24 sty 2025, o 18:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 15 lut 2016, o 21:51 
Offline
Użytkownik

Dołączył(a): 22 lut 2015
Posty: 61
Pomógł: 0

Witam, czy szanowni koledzy mogli by mi wytłumaczyć jak dokładnie działa funkcja"key_press" z lekcji P. Mirka
Obsługa klawiszy - drgania styków CD...2, chodzi mi o ostatni kod. Nie mogę tego załapać
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
deklaracja funkcji
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wywołanie funkcji, nie rozumie kiedy funkcja będzie wiedziała że jest wciśnięty klawisz.
No i sama definicja tez jest dla mnie mocno zakrecona
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Będę wdzięczny za parę słów objaśnienia bo jak narazie to ciężko mi to idzie :cry:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2016, o 21:54 
Offline
Moderator
Avatar użytkownika

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

Na blogu przecież masz dokładny opis ... to może odnieś się do tego opisu, wskaż czego konkretnie nie rozumiesz - zamiast pisać, że wszystko jest zakręcone i nic nie rozumiesz - ..... bo jeśli kompletnie nic nie rozumiesz - to może jednak warto zacząć najpierw od podstaw języka C ?

Na pewno w zrozumieniu pomoże ci książka: http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

masz ją może?

_________________
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: 15 lut 2016, o 22:00 
Offline
Użytkownik

Dołączył(a): 22 lut 2015
Posty: 61
Pomógł: 0

Tak posiadam takową książkę, czytam no może nie wszystko od razu ze zrozumieniem jak widać. Ale staram się :D

------------------------ [ Dodano po: 7 minutach ]

To może tak w pętli While zostaje wywołana funkcja key_press i tutaj nie rozumie tego jak zostaje sprawdzone czy jest wciśnięty klawisz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2016, o 22:11 
Offline
Moderator
Avatar użytkownika

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

Ok zobacz sam - napisałeś wyżej:

Kulfi27 napisał(a):
No i sama definicja tez jest dla mnie mocno zakrecona

pokazując jej DEKLARACJĘ, czyli pierwsze czego nie rozumiesz a na co kładę duży wręcz ogromny nacisk w książce, to to aby zrozumieć czym różni się DEKLARACJA od DEFINICJI w C, tłumacząc, że niezrozumienie tej PODSTAWY PODSTAW w C - będzie wciąż skutkowało przeróżnymi problemami w zrozumieniu czegokolwiek ...

Wiesz zatem już, że to co pokazałeś to jest DEKLARACJA funkcji - więc postaraj się powiedzieć, których jej elementów nie rozumiesz

_________________
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: 15 lut 2016, o 22:43 
Offline
Użytkownik

Dołączył(a): 22 lut 2015
Posty: 61
Pomógł: 0

Więc w deklaracji funkcji powołane zostały do życia w pierwszej kolejności wskaźnik klock, kolejno wskaźnik KPIN,
zmienna key_mask i na końcu funkcja kfun również jako wskaźnik, pytanie czy to dobrze rozumię.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2016, o 23:01 
Offline
Moderator
Avatar użytkownika

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

Dobrze rozumiesz ;) ....

_________________
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: 15 lut 2016, o 23:16 
Offline
Użytkownik

Dołączył(a): 22 lut 2015
Posty: 61
Pomógł: 0

No to teraz dalej w pętli while funkcja zostaje wywołana, do funkcji zostają przekazane argumety,
pobranie adresu key1_loc, pobranie adresu PINC, no i tu mam problem co dalej zostaje przekazana wartość KEY1,
jak również na końcu zostaje wywołana funckja ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2016, o 23:24 
Offline
Moderator
Avatar użytkownika

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

No przecież na początku kodu masz makro KEY1 - to jest przecież maska pinu (klawisza)

_________________
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: 15 lut 2016, o 23:37 
Offline
Użytkownik

Dołączył(a): 22 lut 2015
Posty: 61
Pomógł: 0

No tak zgadza się tu jest przekazywana wartość KEY1 do funkcji, czyli jak sądzę jak się mylę to proszę mnie poprawic
program wchodzi w funkcję i tam sprawdza czy klawisz jest wciśnięty?
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: 15 lut 2016, o 23:46 
Offline
Moderator
Avatar użytkownika

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

Dokładnie tak - sprawdza, czy klawisz jest wciśnięty dodatkowo w tym warunku musi być wartość =0 w zmiennej na którą wskazuje wskaźnik *klock, wtedy stan zmiennej jest zmieniany na 1


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  
PostNapisane: 15 lut 2016, o 23:52 
Offline
Użytkownik

Dołączył(a): 22 lut 2015
Posty: 61
Pomógł: 0

No to już mi się trochę rozjasniło :D Dziękuje bardzo 8-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 wrz 2016, o 03:25 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

hmm, sorry za lekki odkop ;)
Trzy godziny próbowałem zrozumieć gdzie jest błąd w moim myśleniu, bo za cholerę jasną nie spełniał mi się warunek z części B (3 część artykułu) - przy podciągnięciu do Vcc, zmienia się logika na kobiecą :P true to znaczy false i odwrotnie, pewnie to późna pora i nadmiar kawy.

Jeśli dobrze zrozumiałem, to przy dłuższym przytrzymaniu klawisza wykonają się obie funkcje, tzn kfun1 i kfun2?

narazie uczę się na sucho bez BB, niedługo kupię(jak tylko będę wiedział kiedy będę w kraju, bo pewnie Guru nie wysyła książek za granicę) razem z resztą bambetli.



Ostatnio edytowano 1 gru 2017, o 12:54 przez Harry, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 wrz 2016, o 07:14 
Offline
Moderator
Avatar użytkownika

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

Harry napisał(a):
bo pewnie Guru nie wysyła książek za granicę

Z ciekawszych miejsc na świecie nasze książki i produkty wysyłane były do: Jakarty, Abu Dhabi, Toronto czy San Jose (Kalifornia) ;) ... więc takie kraje jak UK, Niemcy w ogóle Europa to takie normalne jakbyśmy do Polski wysyłali ;)

_________________
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: 2 wrz 2016, o 10:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Harry napisał(a):
Jeśli dobrze zrozumiałem, to przy dłuższym przytrzymaniu klawisza wykonają się obie funkcje, tzn kfun1 i kfun2?

Jeśli chodzi ci o funkcję z trzeciej części poradnika to masz rację. Przy dłuższym trzymaniu klawisza najpierw wykona się funkcja od krótkiego wciśnięcia a potem ta od dłuższego wciśnięcia. Ale wystarczy lekka modyfikacja i funkcja będzie działać tak jak należy.
Przykład w tym temacie topic4541.html#p56592



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 wrz 2016, o 16:48 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

jacekk232 napisał(a):
Ale wystarczy lekka modyfikacja i funkcja będzie działać tak jak należy.

Modyfikacja jest taka jakiej się spodziewałem. W sumie obsługa klawiszy jest łatwa, ale i tak wielki plus dla Mirka za sam pomysł.
Bardzo często wymyśla się koło na nowo, nie wiedząc nawet że ktoś stworzył coś podobnego i wystarczy lekka modyfikacja.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 3 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