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



Teraz jest 15 lis 2024, o 14:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 20 lip 2015, o 11:18 
Offline
Użytkownik

Dołączył(a): 15 sie 2014
Posty: 87
Pomógł: 0

Dzień Dobry. Mam pytanie odnośnie programu do obsługi LCD. Program który przedstawię jest stopniowo rozbudowywany w oparciu o niebieską książkę i materiały dostępne w internecie... ale cały dotychczasowy program jak i zasada działania LCD jest dla mnie jasna poza jednym małym szczegółem a mianowicie:

lcd.c:

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



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


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


a mianowicie jest tutaj wywołana tak jakby funkcja w funkcji i nie za bardzo rozumiem na jakiej zasadzie to się odbywa... Czy byłby w stanie ktoś objaśnić mi dokładnie jak to działa. Czuję że w dalszej rozbudowie programu będę musiał użyć podobnego mechanizmu ale chciałbym to dokładnie zrozumieć więc proszę o radę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lip 2015, o 11:36 
Offline
Moderator
Avatar użytkownika

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

No ale gdybyś mógł bardziej precyzyjnie wyjaśnić czego nie rozumiesz ? toż język C oparty jest na funkcjach i wywołuje się bardzo często jakąś funkcję wewnątrz innej ... ba nawet bardziej jest to pozagnieżdżane

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


w czym ty tutaj upatrujesz problemów ? ;) ot jedna funkcja wywołuje inną funkcję, a kolejna wywołuje jeszcze inną - w czym kłopot jeśli chodzi o zrozumienie ?

_________________
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: 20 lip 2015, o 12:18 
Offline
Użytkownik

Dołączył(a): 15 sie 2014
Posty: 87
Pomógł: 0

Chodzi mi o przekazywanie argumentu funkcji i o to czy przy takim wywoływaniu jest tworzona "kopia kopii" zmiennej. Mianowicie:

Tutaj w funkcji odpowiadającej za inicjalizację wywołuję Wczytywanie_komendy i argumentem jest 0x04:

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


Następnie przekazuję "kopie" do funkcji Wczytywanie_komendy

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


i czy w wyniku dalszych wywołań powstają kolejne "kopie" zmiennych?

A druga sprawa to przekazywanie argumentu... w ciele funkcji Wczytywanie_komendy nie mam zdefiniowanych żadnych zmiennych i mam tylko ustawianie stanu niskiego na RS i wywołanie LCD_Wysylanie_znaku_na_raty i mianowicie moje pytanie brzmi czy argument formalny funkcji Wczytywanie_komendy czyli :

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


jest tak jakby "automatycznie" przekazywany każdej nowo wywoływanej funkcji znajdującej się w ciele funkcji Wczytywanie_komendy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lip 2015, o 16:41 
Offline
Moderator
Avatar użytkownika

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

sorki ale uprość może to o co pytasz do jakiegoś symbolicznego kodu a nie tylu linii akurat o LCD bo teraz to sorki - już nie za bardzo wiem o co chodzi ?

Przy okazji zapytam tylko czy może masz Bluebooka? bo jeśli tak to masz tam opisany cykl życia funkcji i DOKŁADNIE co się dzieje z argumentami itp

_________________
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: 20 lip 2015, o 16:58 
Offline
Użytkownik

Dołączył(a): 15 sie 2014
Posty: 87
Pomógł: 0

Tak czułem że trochę "zamotam" ale nic... Tak posiadam bluebooka doczytam jeszcze o tych funkcjach bo chcę to bardzo dobrze zrozumieć...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lip 2015, o 17:45 
Offline
Moderator
Avatar użytkownika

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

moscow18-1990 napisał(a):
Chodzi mi o przekazywanie argumentu funkcji i o to czy przy takim wywoływaniu jest tworzona "kopia kopii" zmiennej.

Wziąwszy to jako pytanie to podobnie jak w Bluebooku - odpowiem - TAK jeśli przekazujesz "przez wartość" a nie przez wskaźnik to oczywiście, że tworzy się kopia zmiennej ;) nie ma innego wyjścia - a jak się tworzy i gdzie się tworzy ? ... no właśnie warto zajrzeć do BB tam to DOKŁADNIE opisuję

_________________
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 0 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