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 17 lip 2025, o 17:06


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 10 paź 2019, o 18:11 
    Offline
    Użytkownik

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

    Wybaczcie że męczę temat struktur ale kiedy wydaje mi się że już coś łapię
    to znowu coś idzie nie tak
    Podaję kod z poradnika pt.Gra snejk
    Mirek będzie na mnie krzyczał że taki długi kod ;) ale jest to na temat
    i krótsza wersja nie miała by sensu ( tak myślę )

    pytanie JAK WYŚWIETLIĆ NA LCD WARTOŚCI WPISANE DO STRUKTURY Z FUNKCJI
    void pokaz_alarm( TALARM * wsk ) ORAZ void pokaz_alarm1( TALARM * wsk )



    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: 10 paź 2019, o 19:17 
    Offline
    Moderator
    Avatar użytkownika

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

    Nie będzie mirek krzyczał ;) ale może ktoś coś podpowie ? ;) ... o ile jest sens w ogóle w ten sposób to wyświetlać ?

    _________________
    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: 11 paź 2019, o 07:05 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

    Napisałem Ci kawałek kodu jak można wypełnić czasówki. Analogicznie możesz wyświetlić zawartość struktury.
    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.


    Nie wywoływałbym funkcji ze struktury do wyświetlenia czasów. Tak jak napełnianie jej pól, tak i wyświetlanie można zrealizować jedną funkcją poza strukturą. Tak sobie myślę (ale to moje przemyślenia) że funkcja w strukturze ma sens wtedy gdy jest specyficzna dla każdej struktury struktury.

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2019, o 11:58 
    Offline
    Użytkownik

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

    Panie Mirku

    mirekk36 napisał(a):
    ... o ile jest sens w ogóle w ten sposób to wyświetlać ?


    Moje przemyślenia są następujące
    Jak będę mógł wyświetlić to co wpisuję w funkcjach void pokaz_alarm(TALARM * wsk ) oraz void pokaz_alarm1 (TALARM * wsk )
    a odczyt będzie z
    typedef struct {
    uint8_t godz;
    uint8_t min;
    uint8_t sek;
    void (* pokaz_alarm_ptr)(void * wsk); // Z TEGO MIEJSCA
    }TALARM;
    to będę wiedział że wpisywane wartości są odczytywane z struktury a nie z samej funkcji
    jeśli są z samej funkcji to wcale nie jest powiedziane że struktura działa

    Poza tym jeśli będę mógł je wyświetlić na LCD to i te wartości mogę przerabiać do innych
    celów nie tylko do wyświetlania ale i sterowania wyjściami itp.
    Ale najpierw muszę się dowiedzieć jak je z tam tond wydostać



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2019, o 17:21 
    Offline
    Użytkownik

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

    Koledzy możecie mi wytłumaczyć co od czego jest zależne
    w moim przykładzie struktury

    czy zmienne strukturalne są napełniane wartościami z ustawień w funkcji

    void pokaz_alarm( TALARM * wsk )
    w której wpisuję do zmiennych wsk -> godz = 22;

    kiedy w pętli while wywołuję funkcję init_alarm ( );
    to wyświetlają mi się same zera tak jakby zmienne strukturalne były puste czyli same zera
    tak jakby nic do niej nie było wpisane
    mimo że do nich wpisuję wartości przez wsk -> godz = 22;



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2019, o 18:48 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

    A gdzie wywołujesz funkcje ? :
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    Nie widzę tego w kodzie.
    Poczyściłem z ciekawości z komentarzy Twój kod skompilowałem
    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.


    No i popatrzyłem w plik .lss (nie mam podpiętego wyświetlacza) no ale widać że coś się dzieje :)
    Żyć nie umierać
    Wskaźniki się wskaźnikują zmienne przypisują
    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.


    Autor postu otrzymał pochwałę

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2019, o 19:23 
    Offline
    Użytkownik

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

    Wywołuje ją w pętli głównej programu while (1){
    i za komentowane if ( alarm [0] . pokaz_alarm_ptr ) alarm[0]
    oraz if ( alarm [1] . pokaz_alarm_ptr ) alarm[1]

    Ale nie mogą zrobić poprawki w kodzie w pierwszym poście
    bo czas miną na edycję
    a nie chcę mnożyć listingów

    możesz mi powiedzieć czy wartości które są wpisywane do struktury
    są w zmiennych strukturalnych zapisywane ?
    np. w strukturze zmienna o nazwie ( godz )
    będzie pamiętała ustawienie wartości
    dla np. zegar 1 ustaw godz = 22
    a dla zegar 2 ustaw godz = 13

    ------------------------ [ Dodano po: 4 minutach ]

    Ale żeś sypnął asemblerem :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2019, o 19:55 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

    Z tym asemblerem to po prostu skopiowałem to co zrobił kompilator :)
    Czasem gdy chcę coś sprawdzić to tam zaglądam.
    Widać że wartości są przepisywane do rejestrów.
    Nie znam assemblera ale pewne rzeczy można z tego pliku wywnioskować nawet nie znając go
    Skompiluj program i zajrzyj do niego

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 paź 2019, o 14:34 
    Offline
    Użytkownik

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

    Kolego JarekB
    Ta struktura działa dzięki za pomoc :D



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