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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 lip 2025, o 18:54


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