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



Teraz jest 1 sty 2025, o 01:04


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 ]
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: 27322
Lokalizacja: Szczecin
Pomógł: 1041

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: 27322
Lokalizacja: Szczecin
Pomógł: 1041

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