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



Teraz jest 29 lip 2026, o 12:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
 Tytuł: Wskazniki...
PostNapisane: 15 sty 2013, o 21:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 paź 2011
Posty: 108
Pomógł: 0

Dlaczego Eclipse wywala mi błąd w poniższym kodzie (właściwie to Warring):

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

wskaźnik wskazuje na element typu char, a w warrningu mam:
Type assignment makes integer from pointer without a cast main.c

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 21:26 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

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

_________________
Dragonus Cracovus: Biomagia



Ostatnio edytowano 15 sty 2013, o 21:57 przez Krauser, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 21:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 gru 2012
Posty: 530
Lokalizacja: Bydgoszcz
Pomógł: 8

Cholipka, tyle czasu programuję, a nadal nie kumam wskaźników, i ich zastosowania - po co i kiedy :(

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 21:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 paź 2011
Posty: 108
Pomógł: 0

Witaj w klubie :mrgreen:

Krauser, dzięki ale nie rozjaśniło mi to nic. Warrning znika po drugiej kompilacji. Mirek w swojej książce też kilkakrotnie używa wskaźnika bez gwiazdki (wprawdzie przy switch(wsk)). Program też działa mi z tym moim zapisem, ale chciałbym jeszcze pojąć to mniej więcej a nie na chybił trafił wsadzał gwiazdkę albo nie i patrzył czy się udało ;)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 21:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 233
Lokalizacja: Gdynia
Pomógł: 15

Niebieska książka, strona 157, pogrubiony tekst na środku strony.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 21:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 paź 2011
Posty: 108
Pomógł: 0

Mea culpa, wszystko jest w biblii :D Nie używałem dotąd wskaźników i zapomniałem co o nich było napisane :oops:

Chociaż dalej w tym kontekście nie bardzo rozumiem:

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


z tego co rozumiem funkcja atoi i warunek if jako argumenty dostana adresy a nie zmienne pod tymi adresami, a to chyba nie tak ?

ps. fragment kodu pochodzi z biblii...

_________________
sig off ;(



Ostatnio edytowano 15 sty 2013, o 21:50 przez ixxl, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 21:47 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

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

czyli atoi(wsk) jest poprawnie

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 21:57 
Offline
Moderator
Avatar użytkownika

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

Panowie to jest analiza TOKENÓW, parsowanie - pierwszy przykład parsowania w książce i opisany wydawało mi się w miarę dobrze, ale ok uzupełnienie. String w tym przykładzie składa się np z tokenów rozdzielonych separatorem '^' czyli np: 1^0^1

i teraz musimy zamienić te tokeny na LICZBY

nr_led = atoi(wsk); // -----> do funkcji atoi() przekazujemy wskaźnik stringa ( w tym wypadku tokena ) który zostanie zamieniony na liczbę 0 lub 1

wsk = strtok_r(NULL, sep, &buf); // ---> pobieramy kolejny token

if( wsk ) { //-----> sprawdzamy czy aby na pewno MAMY kolejny token - upewniamy się

led_on = atoi(wsk); //----> no i znowu zmienna led_on przyjmuje wartość 0 albo 1 po zamianie tokena (stringa) na liczbę funckją atoi()

------------------------ [ Dodano po: 1 minucie ]

atoi() ---> Ascii TO Integer

jako argument podajemy wskaźnik na pierwszy element łańucha (tablicy znaków) który ma być zamieniony na liczbę

_________________
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 sty 2013, o 22:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 paź 2011
Posty: 108
Pomógł: 0

Czyli ,jeżeli dobrze zrozumiałem,w moim przypadku powinno być tak ?:

Składnia: [ Pobierz ] [ Ukryj ]
język c
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: 15 sty 2013, o 22:13 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

No tak, ale mam wątpliwości do tego co chcesz zrobić, bo pętli while nigdy nie opuścisz i program pójdzie w krzaki.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 22:23 
Offline
Moderator
Avatar użytkownika

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

No tak jak pisze wyżej Krauser - pokazałeś fragment kodu z jakąś pętlą while() .... ale co dalej - nie widać czy są jakieś warunki jej opuszczenia nawet. Jeśli ich nie ma albo są błędne to albo utkniesz w tej pętli na "za długo" albo na "zawsze" :(

po co w ogóle ta pętla ?

_________________
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 sty 2013, o 22:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 paź 2011
Posty: 108
Pomógł: 0

Funkcja z danych jakie przylecą przez UDP, tworzy łańcuch. Dla porządku, kompletna funkcja, coby nie wyjść na kompletnego ignoranta :mrgreen:

Składnia: [ Pobierz ] [ Ukryj ]
język c
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: 15 sty 2013, o 22:39 
Offline
Moderator
Avatar użytkownika

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

Ło matko! ;) no ale zaraz cóż pan wyprawiasz ? ;) może powiedz co to ma robić ?

jak wygląda przykładowo twój string z tokenami, jeśli np tak:

"text na lcd,0,3,4"

i chcesz wyświetlić ten TOKEN "text na lcd"

to po prostu

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


a następnie:

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


a ty próbujesz go jakoś jeszcze dziwnie hmmm nawet nie mogę dojść za bardzo co ty w tej pętli próbujesz ?

------------------------ [ Dodano po: 1 minucie ]

albo jak mówię opisz jaki masz string do analizy - jakiś krótki przykład i co chcesz wyjąć i w jaki sposób. Bo chyba źle się zabierasz za parsowanie tokenów.

_________________
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 sty 2013, o 22:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 paź 2011
Posty: 108
Pomógł: 0

no wiec dostaje na UDP ciąg znaków 1^2^3^4^ , po odebraniu, jedynka wcześniej odpada, jako identyfikator funkcji jaka ma sie wykonać (w innej części kodu). Po zakończeniu pętli na LCD wyświetla mi się zawartość tablicy : 2,3,4,. Czyli zgodnie z założeniem 8-) , pewnie można krócej i inaczej. Na razie cieszę się że działa, bo już wróciłem do BASCOM i teraz robię kolejne podejście do C :D

_________________
sig off ;(



Ostatnio edytowano 15 sty 2013, o 22:52 przez ixxl, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 22:52 
Offline
Moderator
Avatar użytkownika

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

No tak ale nie prościej wyświetlić to od razu

lcd_str( buf );

???

_________________
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 sty 2013, o 22:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 paź 2011
Posty: 108
Pomógł: 0

Pewnie że można, narazie się bawię , żeby ogarnąć jakoś wskaźniki ;) Pożytku z tej funkcji przecież nie ma żadnego, poprostu przepisuje jedną tablicę do drugiej.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2013, o 23:18 
Offline
Moderator
Avatar użytkownika

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

aaaaaaaaaaaaaaaaa ;) no to trzeba był tak od razu ;)

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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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