Fórum témák
» Több friss téma |
Fórum
Sziasztok! Van egy TinyRTC v1.1 modul áramköröm. Van rajta egy DS1307 és egy 24C32WP eprom. A kérdésem az lenne, hogy milyen szerepe van a 24C-s epromnak az óra modulban? Esetleg teljesen különálló, tetszőlegesen használható? Egy LCD-s órát szeretnék építeni, I2C kommunikációt, csak elméletben ismerem, most csinálnám élesben, szerintetek nem túl nagy falat kezdésnek? (csak soros kommunikációkban vagyok kezdő) Vagy próbáljam írni olvasni, csak az epromot? Köszi! Üdv!B
Fúúú te gonosz vagy.
![]() *kicsit A hozzászólás módosítva: Máj 1, 2013
Szia!
Bár simpi kcisit félreérthetően írta, de a lényeg, hogy BCD-ben kapod meg az értékeket, vagyis a másodperc alsó bájtja hordozza az egyes helyiértéket, a felső pedig a tizest.
Sziasztok!
A DS1307-el ismerkedem a gondom az hogy el indul de a másodperc számlálás kicsit furcsa. 60 helyett 90 másodpercig számol és ott nullázodik, viszont számolás közben kihagy 7 számot többször is ugyanott.Szerintem valami szám kodólási hiba van.Segitséget előre is köszi.
Még csak ismerkedek az ethernet shieldel, de akkor nem az RTC chippel van gond hanem a kóddal. Utánanézek mit lehet vele kezdeni. Köszi.
Jaaa. Szoval aszinkronban olvasol. Talan (ha lehet arduinoban) interruptal kellene kezelni. Beallitani a SQW/OUT kimenetet 1 Hz frekire, es ezt valahova bekotni, ahol interruptot kerfet. A kiolvasast az IT rutinban kellene megoldani, ugy biztos a leptetes.
Ez pedig valóban az, amit kyrk írt; ha pontosan 1 másodpercenként olvasod ki, akkor bizony nagyon könnyen előfordulhat ilyen probléma (tapasztalat). A megoldás vagy az, hogy 1 másodpercnél sűrűbben olvasod ki és frissíted az értéket, vagy amit én még szoktam használni, hogy mondjuk csak 10 vagy akárhány percenként olvasod ki az időt a DS1307-ből, és két kiolvasás között pedig szoftveresen megvalósítod az órát. Így a DS1307-tel gyakorlatilag csak pontosítod X időközönként, hogy biztosan ne késsen/siessen az óra.
A DS1307-ben egész biztosan nem tud "átugrani" a másodperceket számláló regiszter. De erről magad is rettentő egyszerűen meggyőződhetsz; állítsd át a kiolvasást/kijelzést mondjuk 500 ms-ra. Ilyen esetben kizárt, hogy akármikor kimaradjon egy másodperc a kijelzésben.
Talan programhiba lehet. Persze tudni kellene a RTC tipusat, es ismerni a programoat.
Másodpercenként iratom ki terminalra es a weboldalt is masodpercenkent frissitem ahol megjelenitem. Azzal nincs gond.
Honnan gondolod, hogy ugrik? Nem lehet, hogy idozitesi problema van es a kiiras nem masodpercenkent tortenik emiatt neha kimarad egy masodperc kiirasa?
Sziasztok,
valaki tudna segíteni miert csinálja ezt az órám? (lásd kép) Állandóan átugrik egy másodpercet. Ezen kívül valamelyik nap kalibráltam és most majd 12órával hátrebb van mint lennie kéne. A hozzászólás módosítva: Dec 4, 2012
Udv,
eBayrol rendeltem komplett modult ezzel az ICvel, link. Szerintetek ez 2db egy NYÁKon vagy miert van rajta 2db IC, ill dupla kivezetés?
Szia értem akkor én is így fogom csinálni, remélem pontos lesz
Sziasztok DS1307 órakristályához nem kell kondenzátorokat kötni? Az adatlap nem írja.
Hali!
Köszönöm a válaszaitokat. Az angollal vitathatatlanul igazatok van, de 5X után már nagyon meggondolja az ember egy ilyen projekt elkezdését. A kapott rutint átfutottam. A legegyszerübb megoldást akartam választani, átemelem a saját progimba. Ez sajna nem megy, mert ez nem assembly. A regiszterek funkciójának ismeterével azonban bizom benne, hogy menni fog. Üdv!
Üdv!
A 00h 7. bitjének nullázásával tudod elindítani az órát. Ugyanennek a regiszternek az alsó négy bitje adja BCD-ben a másodpercek egyes helyiértékét, a felette lévő 3 bit pedig a másodpercek 10-es helyiértékét. A 07h regiszter 4. bitjével tudod beállítani hogy az SQW/OUT lábon megjelenjen-e az RS1 és RS0 bitek által meghatározott frekvencia. A 7. bittel (OUT) pedig azt tudod beállítani hogy ha nem engedélyezed (SQWE=0) az SQW/OUT kimeneten a frekvenciát akkor milyen logikai szintet adjon. Én is csináltam hasonló RTCC-vel órát és ott azt csináltam hogy 1Hz-es jelet adott az RTCC és minden felfutó élnél kiolvastam az időt, így nem kell feleslegesen olvasgatni az RTCC-t. Persze máshogyan is meg lehet ezt csinálni.
Hali
Nem tudom mivel, hogyan akarod kezelni a RTC-t, de itt egy pelda a DS1307 kezelesere. Ez CCS C-hez keszult. Termeszetesen a kezeleshez az I2C inicializalas szukseges eloszor. A 0x07 regiszter a "Control register", amivel meg lehet hatarozni az oszcillator kimeneti frekvenciajat. A 7. labon lehet kivezetni az oszcillator leosztott frekvenciajat. A "SQWE" bit engedelyezi a kimenetet, a "RS0-RS1" bitek pedig meghatarozzak a leosztast a 9. oldalon levo tablazat szerint. Ezzel lehet interruptot csinalni, hogy ne kelljen allandoan lekerdezgetni a RTC-t csak meghatarozott idonkent. Amugy nagyon meg kellene tanulni angolul, mert az elektronikaban szinte minden dokumentacio ezen a nyelven keszul (esetleg japanul vagy kinaiul).
Akkor megprobálok konkrétebbat kérdezni!
DS 1307 adatlapjának 8. oldalán van egy táblázat Timekeeper Regiszters felirattal. Ez a net szerint "időőrző regisztereket " jelent. Gondolom a vezérlő regisztereket jelentheti. Úgy tűnik, hogy 00h-06h-ig először nulláznom kell, és utána lehet kiolvasni az adatokat. 02h 6-os bit állitásával lehet meghatározni a 12/24 órás üzemmódot. 07h-val lehet még valamilyen paramétereket meghatározni, de nem tiszta, hogy mit. 00h register nullázásával engedélyezem az oszcillátor futását. Ezt eddig jól gondolom-e?
Üdv!
Ilyeneket nem csinál senki magyarul. A szakma nyelve az angol, nélküle nem lehet boldogulni.
Most jó nagy sületlenséget kédeztem... Ez I2C...
Hali!
Csak 100kHz-en képes kommunikálni ez az IC? Tehát ha én lassabban adom neki az adatot, illetve kérem le, akkor nem működik? |
Bejelentkezés
Hirdetés |




