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 w 2025? 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 30 kwi 2025, o 18:31


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 8 lut 2021, o 14:56 
    Offline
    Użytkownik

    Dołączył(a): 05 gru 2017
    Posty: 430
    Lokalizacja: Puck
    Pomógł: 7

    Witajcie
    Zrobiłem obsługę klawiszy , które po wciśnięciu mają tylko zmieniać wartość zmiennej
    wskażnikowej z 1 ( klawisz wciśnięty ) na 0 ( klawisz zwolniony )

    Te stany klawiszy mają być "odbierane " przez funkcję która będzie na podstawie stanów
    klawiszy coś wykonywała

    Lecz coś mi nie działa funkcja w ogóle nie reaguje na stan klawiszy
    jak to ruszyć ?


    Kod przedstawiam poniżej

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    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: 8 lut 2021, o 15:05 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sie 2015
    Posty: 205
    Lokalizacja: UK
    Pomógł: 10

    W pierwszej sekcji if-ów zakładam, że chodzi o ustawienie konkretnego bitu w bajcie (wartość 2^n). Natomiast nie rozumiem dlaczego od razu zaraz po tym zerujesz tę samą zmienną (chyba, że brakuje else). W tej konfiguracji zmienna wynik zawsze powinna wynosić 0.

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

    I gdzie dokładnie znajdują się te if-y? Skąd wywołujesz funkcję?

    _________________
    MMT Technologies



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lut 2021, o 15:28 
    Offline
    Użytkownik

    Dołączył(a): 05 gru 2017
    Posty: 430
    Lokalizacja: Puck
    Pomógł: 7

    Dla ułatwienia przykładu wszystko w main.c

    Klawisz ma wpisać do zmiennej 1 tylko gdy jest wciśnięty a gdy jest zwolniony ma być 0

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

    jeśli wywołam ją w ten sposób to mam błąd
    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: 8 lut 2021, o 15:51 
    Offline
    Użytkownik

    Dołączył(a): 06 lut 2018
    Posty: 58
    Pomógł: 0

    A próbowałeś wywołać funkcję z operatorami adresu poszczególnych argumentów funkcji? funkcja(&arg1, &arg2)?

    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: 9 lut 2021, o 08:57 
    Offline
    Użytkownik

    Dołączył(a): 29 gru 2013
    Posty: 82
    Pomógł: 3

    Mógłbyś poprawić wcięcia na samej górze tego kodu, te związane z ustawianiem 0 bądź 1 danego wejścia....choć jak patrzę na ten kod to na ten moment jak dla mnie tam zawsze te wejścia mają wartość 0.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2021, o 14:26 
    Offline
    Użytkownik

    Dołączył(a): 05 gru 2017
    Posty: 430
    Lokalizacja: Puck
    Pomógł: 7

    Mam pytanie

    Czy można odczytać wartość zmiennej zawartej w funkcji A
    za pomocą wskażnika i przypisać tą wartość innej zmiennej
    ale znajdującej się w funkcji B

    Czy z wskażnikami jest tak samo jak z zmiennymi, że są widoczne
    tylko w tej samej funkcji ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2021, o 15:01 
    Offline
    Użytkownik

    Dołączył(a): 29 gru 2013
    Posty: 82
    Pomógł: 3

    Wskaźnik to też zmienna tylko jej wartością jest adres, czyli pod tym względem jest tak samo :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2021, o 17:46 
    Offline
    Użytkownik

    Dołączył(a): 05 gru 2017
    Posty: 430
    Lokalizacja: Puck
    Pomógł: 7

    Teraz wszystko jasne dlaczego mi to nie działa
    obsługa klawiszy jest w main.c
    a funkcja do wykonywania czegoś na reakcję wciśnięcia klawisza
    w osobnym pliku

    Myślałem że dzięki wskażnikowi mogę przejmować zadaną wartość zmiennej
    z każdego miejsca (pliku , funkcji ) w programie

    To działa tylko w zakresie jednej funkcji :shock: :(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2021, o 17:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sie 2015
    Posty: 205
    Lokalizacja: UK
    Pomógł: 10

    Wskaźnik
    miki53 napisał(a):
    Myślałem że dzięki wskażnikowi mogę przejmować zadaną wartość zmiennej
    z każdego miejsca (pliku , funkcji ) w programie


    Zmienna przekazana do funkcji jako argument poprzez wskaźnik może zostać zmieniona bezpośrednio w tej funkcji poprzez zmianę tego co znajduje się pod danym adresem. Bez użycia wskaźnika zmiana odbyłaby się na kopii tej zmiennej i należałoby ją zwrócić zmienioną w rezultacie, aby uzyskać ten sam efekt. Tzn. na przykład:

    // Z wskaźnikiem
    funkcja(&argument);

    // Bez wskaźnika
    argument = funkcja(argument)

    _________________
    MMT Technologies



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 13 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