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



Teraz jest 24 sty 2025, o 00:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 26 ] 
Autor Wiadomość
PostNapisane: 5 paź 2013, o 08:44 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Mam do Was takie zapytanie. Mam atmegę 8 i na fabrycznych liniach SDA i SCL czyli na pinach PC4 i PC5 podpiąłem (na razie tylko na schemacie) jednocześnie zegar DS1307 i zewnętrzną pamięć eeprom serii AT24CXX. I tu dochodzimy do sedna czyli do mojego pytania, czy będzie to działać jak trzeba? Jak z adresowaniem tych dwóch urządzeń?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 paź 2013, o 09:13 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3209
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Będą działać jeśli dla każdego z nich dasz inny adres.


Autor postu otrzymał pochwałę

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 paź 2013, o 09:41 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

ustal adresy dla urządzęń i będzie wszystko działać ....


Autor postu otrzymał pochwałę

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 paź 2013, o 09:50 
Offline
Użytkownik

Dołączył(a): 24 kwi 2012
Posty: 76
Lokalizacja: Ostrów Wielkopolski
Pomógł: 6

Witam. DS1307 posiada stały adres cytat z PDF-a "The address byte contains the 7 bit DS1307 address, which is 1101000, followed by the *direction bit (R/W ) which, for a write, is a 0.". A pamięci serii AT24Cxx mają adres ustawiany pinami A0,A1,A2 i stosowny cytat"The device address word consists of a mandatory one,
zero sequence for the first four most significant bits as
shown. This is common to all the EEPROM devices.
The next 3 bits are the A2, A1 and A0 device address bits
for the 1K/2K EEPROM. These 3 bits must compare to
their corresponding hard-wired input pins." Czyli dla swojej pamięci ustawiasz inny adres niż jest w RTC i wszystko ładnie działa ;)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 paź 2013, o 10:18 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

A jeszcze zapytam. Jak się adresuje pamięci AT24CXX ? Zwierając piny A0..A2 do masy lub do plusa?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 paź 2013, o 10:27 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

dokładnie tak ....
poprzez zwarcie do gnd wstawiasz 0 a do Vcc wstawiasz 1

Obrazek

mniej wiecej tak to wygląda ale sprawdzisz to w nocie dokładnie.

przykładowy adres może mieć wiec jak widzisz postać :

1010 111 .... gdy A2 - A0 dasz do VCC


Autor postu otrzymał pochwałę

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 paź 2013, o 19:48 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Nie przypuszczałem że to jest adresowanie układu, myślałem że to ustalanie wielkości pamięci.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 20:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

Mam również pytanie odnośnie tego tematu zmieniłem adres DS1307 na 0xD0 podmieniając go w bibliotece blubooka i na LCd
lecą mi sekundy ale jakieś dziwne wielkości nawet 900 sekund zapewne to jest związane z tą funkcją
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

oglądałem pdf tego układu i domyślam się że coś chodzi pewnie o tą tabelkę:

Obrazek

i bufor ? :mrgreen: kompletnie jej nie rozumiem proszę o objaśnienie

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 21:54 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Skąd wytrzasnąłeś 0x3f? W tabeli masz jasno napisane, że sekundy zaczynają się od 0x00. Polecam obejrzeć serię wideo poradników o rtc. Tam jest super biblioteka do rtc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 22:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

Jak wpisze 0x00 w to miejsce to czas wcale nie leci,przynajmniej na lcd ;)

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 22:52 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Co robisz z zawartością bufora?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 16:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

HomoChemicus napisał(a):
Co robisz z zawartością bufora?


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

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 17:08 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

To upewnij się, że ss=0, mm=1, a hh=2.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 17:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

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

ale nadal lecą jakieś kilkaset sekund

funkcja do odczytu wygląda tak:
Kod:
#define PCF8583_ADDR   0xD0


TWI_read_buf( PCF8583_ADDR, 0x00, 4, bufor );

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 17:46 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

W jaki sposób wyświetlasz te zmienne?
Próbowałeś wyświetlić same sekundy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 17:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

Kod:
 lcd_locate(0,8);
if( godziny < 10 ) lcd_str(" ");
lcd_int(godziny);
lcd_str(":");
if( minuty < 10 ) lcd_str("0");
lcd_int(minuty);
lcd_str(":");
if( sekundy < 10 ) lcd_str("0");
lcd_int(sekundy);


W sposób standardowy innego nie znam :)
Jak robię to na pcf8583 wszystko działa poprawnie

jeszcze tak zapytam zapobiegawczo czy ma znaczenie czy jest podłączona bateria do układu ? czy wystarczy zasilanie podczas pracy ?
Mam coś takiego:
ObrazekObrazekObrazek

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 18:25 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

A sekundy w ogóle się zmieniają?
Jak często pobierasz dane z rtc?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 18:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

Tak zmieniają się jak pisałem powyżej tylko jakieś dziwne wartości np 101 ,102,103 i dochodzi nawet do 900
Robię to co sekundę zgodnie z flagą ustawioną z przerwania i jak pisałem zmienię tylko adres i od której komórki odczytywać czas czyli tak jak dla układu PCF8583 czyli:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Gdy tak jest jak powyżej wszystko działa pięknie minuta godzina i sekundy

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 20:05 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Jeżeli powyższy kod wyświetla ci sekundy z ds1307, to ja się poddaję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 20:09 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

HomoChemicus napisał(a):
jeszcze tak zapytam zapobiegawczo czy ma znaczenie czy jest podłączona bateria do układu ? czy wystarczy zasilanie podczas pracy ?

Datasheet napisał(a):
If a backup supply is not required, VBAT must be grounded.



Ostatnio edytowano 17 sie 2016, o 20:16 przez andrews, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 20:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

HomoChemicus napisał(a):
Jeżeli powyższy kod wyświetla ci sekundy z ds1307, to ja się poddaję.


Nie, źle mnie zrozumiałeś powyższy kod wyświetla mi dobrze ale na układzie PCF8583 :)



a jak tylko zmieniam adres który jest zapisany pod #define PCF8583_ADDR
na adres modułuDS1307 i oczywiście go podłączam
to wyświetla mi ale jakieś cyfry z księżyca...

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 20:15 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Zamiast ss, mm i hh wpisz na sztywno 0,1,2.
Zmień 0x01 na 0x00.

Pokaż funkcję TWi_read_buf. Nawet w PCF sekundy zaczynają się od 0x02, a nie od 0x01.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 20:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

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

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 20:29 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Próbowałeś wpisać bufor[0] itp? Jaki bitrate ustawiłeś?

Pokaż jeszcze funkcję konwertującą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 20:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 495
Lokalizacja: Siedlce
Pomógł: 9

HomoChemicus napisał(a):
Próbowałeś wpisać bufor[0] itp? Jaki bitrate ustawiłeś?


Tak


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

HomoChemicus napisał(a):
Pokaż jeszcze funkcję konwertującą.

Chodzi o konwersję bcd ? Myśle że poprawna ale proszę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 20:45 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Próbowałeś egzorcysty?

------------------------ [ Dodano po: 51 minutach ]

Podaj piny do których masz podpięty lcd, jaki lcd, jaki procek, jakie taktowanie. Jutro podeślę ci gotowy wsad do testu.



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

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