DS1307 a I2C
Moderátor: Moderátoři
DS1307 a I2C
Nevíte někdo jaká je posloupnost hodnot do RTC obvodu DS1307,abych mohl následně získávat aktualní čas (měsíc,den,hodina,minuta).Co jsem nahlížel do Datasheetu tak jsem pochopil jen jakou má adresu,ale zbytek ne.Tak kdyby někdo věděl a chtěl se o to podělit tak budu rád.
Pošleš START, pak slave adresu s R/W = 0 (zápis), pak ACK, dále adresu prvního bytu, který chceš číst (sekundy = 0, minuty = 1 ....), ACK a pak znovu START, slave adresu s R/W = 1 (čtení), ACK a pak už čteš kolik bytů chceš, za každým pošleš ACK a za posledním pošleš NACK a STOP.vilem píše:Nevíte někdo jaká je posloupnost hodnot do RTC obvodu DS1307,abych mohl následně získávat aktualní čas (měsíc,den,hodina,minuta).Co jsem nahlížel do Datasheetu tak jsem pochopil jen jakou má adresu,ale zbytek ne.Tak kdyby někdo věděl a chtěl se o to podělit tak budu rád.
no po zapnitu su nastavne nejake dafault hodnoty asi 12h format, off alarm a ine. sekundy min a hodiny na 00. po pripojeni napetia by sa mali rozbehnut hodiny.. tak ze ked po piatich minutach si z nich das nacitat stav hod min a sec dostanes 0h 5m 0s. Ak tam naldaujes aktualny cas ..tak oni budu bezat ..a ty ked budes potrebovat o pytas sa na aktualny stav
Už jsme to tam našel.
Chtěl bych se jen pro kontrlu zepta zda mamám správné hodnoty posílaných bajtů:
Pro nastavení obvodu:
11010000->00000000->00000010->00010001->00000011->00100110->
->00000001->00001000
A mělo by to být datum 27.1.09 11:26:00
A pro čtení jenom zadám adresu 11010001 a pak přečtu 7 bajtů a ukončím přenos.
Je to správně nebo je někde chyba nebo je tu úplně blbě ?
Chtěl bych se jen pro kontrlu zepta zda mamám správné hodnoty posílaných bajtů:
Pro nastavení obvodu:
11010000->00000000->00000010->00010001->00000011->00100110->
->00000001->00001000
A mělo by to být datum 27.1.09 11:26:00
A pro čtení jenom zadám adresu 11010001 a pak přečtu 7 bajtů a ukončím přenos.
Je to správně nebo je někde chyba nebo je tu úplně blbě ?
c) je správněvilem píše:Už jsme to tam našel.
Chtěl bych se jen pro kontrlu zepta zda mamám správné hodnoty posílaných bajtů:
Pro nastavení obvodu:
11010000->00000000->00000010->00010001->00000011->00100110->
->00000001->00001000
A mělo by to být datum 27.1.09 11:26:00
A pro čtení jenom zadám adresu 11010001 a pak přečtu 7 bajtů a ukončím přenos.
Je to správně nebo je někde chyba nebo je tu úplně blbě ?
START
11010000 adresa čipu + zápis
00000000 adresa zapisovaného prvního bytu - 00 = sekundy
00000000 sekundy (00)
00100110 minuty (26)
00010001 hodiny (11)
00000010 den v týdnu (úterý)
00100111 den v měsíci (27)
00000001 měsíc (01)
00001001 rok (09)
xxxxxxxx konfigurační byte - nemusí být
STOP
Čtení už jsem tu jednou popisovala
Naposledy upravil(a) Andrea dne 27 led 2009, 11:48, celkem upraveno 1 x.
Omlouvám se neumím asi převádět na binární hodnoty .Ale myslel jsem to dobře .Proč jsou tam ale davkrát za sebou posílané sekundy ?Andrea píše:c) je správněvilem píše:Už jsme to tam našel.
Chtěl bych se jen pro kontrlu zepta zda mamám správné hodnoty posílaných bajtů:
Pro nastavení obvodu:
11010000->00000000->00000010->00010001->00000011->00100110->
->00000001->00001000
A mělo by to být datum 27.1.09 11:26:00
A pro čtení jenom zadám adresu 11010001 a pak přečtu 7 bajtů a ukončím přenos.
Je to správně nebo je někde chyba nebo je tu úplně blbě ?
START
11010000 adresa čipu + zápis
00000000 adresa zapisovaného prvního bytu - 00 = sekundy
00000000 sekundy (00)
00100110 minuty (26)
00010001 hodiny (11)
00000010 den v týdnu (úterý)
00100111 den v měsíci (27)
00000001 měsíc (01)
00001001 rok (09)
xxxxxxxx konfigurační byte - nemusí být
STOP
Čtení už jsem tu jednou popisovala