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



Teraz jest 29 mar 2024, o 13:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 16 kwi 2017, o 19:18 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Hej
Glupie pytanie:)
Wywoluje funkcje

Uint8_t liczba=10;
Liczba = test();

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


x przyjmuje wartosc od 0 do 5..
Czy przy 0 liczba bedzie 0 czy funkcja nic nie zwroci?



Ostatnio edytowano 16 kwi 2017, o 19:44 przez wchpikus, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 19:21 
Offline
Użytkownik

Dołączył(a): 08 lut 2016
Posty: 96
Pomógł: 2

Zmienne lokalne powinno sie inicjować



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 19:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Po każdym przejściu programu przez: Liczba = test(); zostanie wywołana funkcja i zawsze zwróci ona jakiś wynik. tylko jak nie inicjujesz zmiennej x to możesz otrzymać śmieci jeżeli nie przypiszesz do niej żadnej wartości w ciele funkcji. Ale zwróci coś zawsze. każdy wynik z twoich założeń, zero też albo śmieci ;]

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 19:39 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Ok zle napisalem.
Cos tam..= przypisuje wartosc od 0 do 5..
Czyli zakladamy ze costam przyjmie 0
Poprawilem listing



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 19:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

jezeli costam przyjmie zero, to funkcja zwróci 0,czyli liczba też będzie =0;

p.s. co to jest:

Uint8_t x;x ?? nie krzyczy kompilator?

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 19:46 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Blad sie wkradl..
Juz jest ok

Teraz jasniej?
Co zwroci funkcja przy x=0?
Liczbe od -128 do 128? (Uint8).
Wydaje sie ze lisowa liczbe?

------------------------ [ Dodano po: 5 minutach ]

skalarro napisał(a):
jezeli costam przyjmie zero, to funkcja zwróci 0,czyli liczba też będzie =0

Uint8_t x;x ?? nie krzyczy kompilator?

Wlasnie ze nie zwraca 0;) stad pytanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

wchpikus napisał(a):
Co zwroci funkcja przy x=0?
Liczbe od 0-255?
Wydaje sie ze lisowa liczbe?

Dlaczego tak myślisz?? nie może losowej. Losowa liczba będize tylko w wypadku jeżeli powołasz zmienną lokalną a jej nie nadasz wartości, więc ona przyjmie wartości jakie były po poprzedniej zmiennej w danej komórce pamięci. Jak przypiszesz jakąś liczbę to nie ma bata - nie może być ona losowa niezależnie zy to 2, 5 czy 0.

nie pamiętam czy to robi różnicę ale spróbuj return x; a nie return(x);

i spróbuj zamiast uint8_t x; zrobić uint8_t x=0;

------------------------ [ Dodano po: 6 minutach ]

wchpikus napisał(a):
Liczbe od -128 do 128? (Uint8).


Jeżeli masz na myśli uint8_t to nie masz -128 do 128, tylko 0-255;
chyba że chodzi Ci o int8_t to wtedy mamy do czynienia z liczbami ujemnymi ale w zakresie -128 do 127

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:18 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Ok, tylko bardziej chodzilo mi o to, czy x=0 to co zwroci funkcja?
Poniewaz mam zmienna=test(), gdzie test zwraca 0, i niestety zmienna nie jest 0..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

To coś robisz nie tak, może gdzieś w innym miejscu programu mieszasz.
musi zwrócić 0!!! a zmienna musi przybrać wartość funkcji.

masz w programie deklarację funkcji?? mam na myśli:
uint8_t test(void);

może nie masz?

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:35 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Wszystko jest.przy wartosciach > 0 dziala



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

a jak sprawdzasz wartość zmiennej?? jakiś lcd?? terminal? I co to jest to cośtam??

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:41 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Na lcd i uart.
Cos tam to funkcja odpytujaca urzadzenie o stan, odpowiedzia sa stany od 0 do 5



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

a wartości dla x przypisujesz na sztywno np x=3, x=0 czy przy pomocy jakiegoś warunku, funkcji, działania lub czujnika?? może tam coś?

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:45 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Tak na sztywno..
If warunek then x=0.
X jest zwracane, powinno,a nie jest..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2017, o 20:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

cośgdzieś mieszasz. daj na sztywno na x=0, bez warunku. albo pokaż więcej kodu jeśli nie tajemnica

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 kwi 2017, o 19:12 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

dzieki, mialem blad w kodzie..:)



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

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