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 16 maja 2025, o 22:14


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 21 mar 2015, o 10:32 
    Offline
    Użytkownik

    Dołączył(a): 22 paź 2014
    Posty: 72
    Pomógł: 0

    Próbuję zrozumieć jak działa odczyt i zapis danych z układu DS3231. Pan Mirek w swoim poradniku zaproponował stworzenie unii i struktury, do których wpisuje się dane. Teoretycznie wiem jak to działa. Z praktyką jest gorzej :) Próbuję przerobić program na wyświetlanie godzin i minut na wyświetlaczu 7-segmentowym i nie umiem przeskoczyć podziału cyfry. Próbowałem czegoś takiego
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Chodzi mi o wyciągnięcie cyfry z unii bądź struktury i podzielenie jej przez 10 w celu uzyskania liczby dziesiątek, a potem modulo i otrzymaniu jedności.
    Co robię źle? :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2015, o 12:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 maja 2014
    Posty: 317
    Pomógł: 19

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


    Chodzi mi o wyciągnięcie cyfry z unii bądź struktury i podzielenie jej przez 10 w celu uzyskania liczby dziesiątek, a potem modulo i otrzymaniu jedności.
    Co robię źle? :)

    Odwołujesz się do pola struktury jak do obiektu klasy. C to nie jest C++.

    Chyba 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.


    Pozdrawiam! j23

    _________________
    "O sygnałach bez całek" Czesław Frąc



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2015, o 13:22 
    Offline
    Użytkownik

    Dołączył(a): 22 paź 2014
    Posty: 72
    Pomógł: 0

    Kod j23 nie działa. Załączam kod całego programu. To chyba dozwolone, bo Pan Mirek go udostępnił pod filmikiem o DS3231. Jeśli nie może być, to niech mod go wywal :)

    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.


    Eclipse wyrzuca takie oto błędy:

    **** Build of configuration Release for project RTC ****

    make all
    Building file: ../main.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
    ../main.c: In function 'main':
    ../main.c:102:15: error: 'dt' undeclared (first use in this function)
    ../main.c:102:15: note: each undeclared identifier is reported only once for each function it appears in
    make: *** [main.o] Błąd 1

    **** Build Finished ****



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2015, o 13:42 
    Offline
    Moderator
    Avatar użytkownika

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

    Zombol napisał(a):
    ../main.c:102:15: error: 'dt' undeclared

    No przecież masz jak byk napisane i to jeszcze nawet numer linii w której masz błąd

    dt

    co to jest ? widzisz gdzieś zmienną o takiej nazwie, którą przekazujesz do teh funkcji w linii 102 ?

    Cytuj:
    send_digit(dt.hh /10);


    poszukaj sam i pokaż gdzie masz w kodzie definicję tej zmiennej ok?

    _________________
    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: 21 mar 2015, o 13:54 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 kwi 2013
    Posty: 418
    Lokalizacja: Rzeszów
    Pomógł: 102

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


    Operator "strzałki" można stosować w przypadku wskaźników na obiekt, a dla statycznych obiektów jest to operator "kropki".



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2015, o 14:59 
    Offline
    Użytkownik

    Dołączył(a): 22 paź 2014
    Posty: 72
    Pomógł: 0

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


    Operator "strzałki" można stosować w przypadku wskaźników na obiekt, a dla statycznych obiektów jest to operator "kropki".


    Faktycznie, ten kod działa.
    Wydaje mi się, że próbowałem czegoś takiego i Eclipse wywalał błąd. Może zrobiłem literówkę, albo coś.
    Skoro kod już mi działa, to chciałbym wiedzieć dlaczego. Co to tak właściwie jest to dt, które tak usilnie wykorzystywałem? Wydaje mi się, że jest to wskaźnik. Wnioskuję po gwiazdce przed nazwą. Nie za bardzo rozumiem po co on i jak to ma działać.
    Np taka funkcja:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Nie rozumiem co robi pętla for? Wskaźnik dt przechowuje informację o adresie komórki aktualnie pobranej i za jego pomocą zapisujemy dane do kolejnego elementu tablicy?

    Prosiłbym o "łopatologiczne" wyjaśnienie, bo temat jest ciekawy i na pewno w niego w przyszłości skorzystam :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2015, o 15:04 
    Offline
    Moderator
    Avatar użytkownika

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

    Zombol napisał(a):
    Nie rozumiem co robi pętla for?

    Tak z ciekawości tylko zapytam - kolega posiada Bluebooka ? ... pytam no bo przecież tam takie podstawy ale także i wskaźniki są wyjaśnione. Chyba że kolega ma tę książkę ale pominął te rozdziały ? czy jak ?

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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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