Fórum témák
» Több friss téma |
Most meg jól megy. Megint csak nálam van ilyen parajelenség.
De kitudja mikor bolondul meg megint....
Még arra gondoltam hogy a tápból szed össze valamit...
Nem tudom, hogy abban az RTC-ben egyáltalán definiálva van-e az óra tizeseknél a 4 helyi értékű bit. Mert ugye ennél a digitnél a 4 helyiértéknek nincs értelme, még 24 órás időkijelzés esetén sem. Lehet pl. az, hogy valami mást jelöl az a bit, vagy teljesen definiálatlan, és előfordulhat, hogy tényleg "véletlenszerű", hogy mit sikerül kiolvasni onnan. A leírt példákban mindenhol ez, a tizesek 4-es bitje az, ami feleslegesen áll 1-ben. A legegyszerűbb az lenne, ha maszkolnád az órák tizesét az alsó két bitre, akkor biztos nem lenne ilyen.
Megnéztem az adatlapját az RTC-nek, az AM/PM bit az órák tizesének a 4-es helyi értékű bitje. Azaz ha 12 órás üzemmódban vagy, akkor délelőtt 11:59 után jogos, hogy délután 12:00 lesz a kijelzés, ami 52:00-nak fog kinézni a négyes bit 1-be állása miatt. A délután 12:59 után 1:00 lesz, ami a 4-es bit délutáni jelzése miatt 41:00-nak fog látszani. Maszkold ki azt a bitet a kiírás előtt!
Igen, a maszkolás kimaradt. Pedig tervben volt, de kiment a fejemből.
Most kimaszkoltam, és próbateszt. Köszi hogy írtál!
Valószínűleg ezzel a 24/12 és a PM/AM bittel lesz a probléma, óra állításnál sem kerülhet be akármi, mert akkor már megőrül szegény RTC.
Szerk.: valamiért 12 órás módban indul el (pedig 24 órásra van beállítva, de ezek szerint rosszul) és ha átállítom az óra tizes helyiértékét 2-re, akkor már megbolondul.
Viszont nem akar menni ez a 24órás mód.
Az adatlapban azt írja a 35. oldalon hogy: Idézet: „Setting of the 24/12 hour bit is as follows: 1) REST bit = 1 2) 24/12 hour bit = 0 or 1 3) REST bit = 0 * REST bit must = 1 to write to the 24/12 hour bit. ” Viszont a 38. oldalon az 1. ábrán a "REST" bit 0-ra van állítva a 24/12 bit állítása előtt. És az sem derül ki egyértelműen hogy 0 vagy 1-re kell állítani a 24/12-es bitet hogy 24 órás legyen. Már kipróbáltam szinte az össze kombinációt de 12:59 után mindig 01:00 lesz az idő. :gumicsirke:
Másik tápról meg jól megy,visszarakva megintcsak jól megy.
Erre nem tudok mit mondani.
Helló mindenki!
Szeretnék egy RTC IC -t használni PIC el ,de nem igazán értem ,hogy lehet. Beállítani illetve kiolvasni az időt? Valaki készítene egy egyszerű példát ahol beolvassa illetve beállítja a program az időt? Előre is köszi!
Eleg sok RTC IC letezik, es altalaban kulonboznek a kezelesek. Konkret tipus es a hasznalt programnyelv ismereteben talan konnyebb a kerdes. Az adatlapok azert eleg sokat segitenek.
Erre az IC -re gondoltam: PCF 8563P
c - ben szeretnék hozzá progit írni. Sajnos az adatlap nem túl világos számomra. (főleg ,hogy sose tanultam angolul ) A leginkább azt nem értem ,hogy 8 bites a regiszterje, de csak két adatvezeték van ,ha jól értem. De akkor ,h küldjek át neki infót? Legjobban egy példa tudna szerintem segíteni. Csak annyit szeretnék ,hogy beállítom az órát és kiolvasom, a többi funkcióra nincs szükségem. Előre is köszi!
Bocsi ,de rossz IC -t linkeltem be. Ezt szeretném használni: DS 1307
Az a gondom ezekkel ,hogy egyik sem HI-Tech -es fordítóra készült. Valahogy sehogy sem tudom átírni őket.
Eljutottam ugyan egy darabig, nem tudom ,hogy jó e ,de most elakadtam. Folyamat ezt dobja a forditó: Error [500] ; 0. undefined symbols: _i2c_read(ora.obj) _i2c_stop(ora.obj) _i2c_write(ora.obj) _i2c_start(ora.obj)
Valoszinu hianyzik valami header file.
Valaki segítene értelmezni az adatlapot?
A 2. táblázatban szerepel elvileg ,hogy melyik bittel mit kell beállítani. Nem igazán értem mi ez a sok minden. Pl. mi az ,hogy 00h? Mármint tudom ,hogy a regiszter címe, de mi az a h? Vagy pl mi a 7. bit az első címen? CH? No meg ,h lehet ezt egy adat vezetéken elküldeni? Valaki írhatna egy példát mondjuk arra ,hogy kell beállítani pl. a másodpercet? Köszi!
Igazából az a gond ,hogy az adatlap 11-13 as oldalán le van írva ,hogy működik ez az i2c bus rendszer ,de nem tudok angolul. Valaki nem tudná leírni a lényeget?
Nagyon köszi!
Hali!
I2C DE! Ha nem tudod értelmezni az adatlapban leírtakat, akkor valami könyebb projectbe kéne belefogni, vagy szépen kihámozni mi-mit takar. A számok mögötti "h" azt jelenti, hogy a szám hexadecimális. A "CH"-t pedig: Idézet: „Bit 7 of Register 0 is the clock halt (CH) bit.”
Hamár RTC... Az enyém most kb. naponta 1-2 tized másodpercet siet, az 1 év alatt kb. 1 perc.
Nem egy atomóra, de ez már lehet jobb mint a 300Ft-os kínai óra.
Most már értem a bus működését. Egy apróságot leszámítva, hogy néz ki az 'Acknowledge". Ilyenkor mit csinál az a kütyü amelyik nyugtáz?
Googli 'i2c'-re az elsők között hozza a magyar nyelvű leírást Bővebben: Link Ebben minden benne van.
Milyen IC-t használsz? Van olyan amit finomhangolni lehet. Tény az, hogy egy DCF-es vevővel megtámogatva, verhetetlen kombót alkotna.
Helló. Nemrég találtam egy DS12B877-es RTC-t de az adatlapjában pár dolog nem világos. Találkozott már valaki ezzel a típussal? Esetleg valaki el tudná magyarázni, hogy az A,B,C és D regisztereket hogyan tudom beállítani?
Üdv!
A mellékletből kiderül. Imi.
Köszönöm szépen így már minden világos .
Van egy kis észrevételem a programban. Az elem tesztelésénél azt írtad kommentbe hogy ha 1 akkor az elem merül és nem fog működni ha 0 akkor minden jó. Na most én 1-est olvastam vissza de megnéztem az adatlapot és a VRT bitre azt írta hogy ha 1 akkor jó minden ha 0 akkor pedig elvesznek az adatok melyeket az IC tárolt és lemerült az elem. Akkor most hogyan van ez?
Mindenkinek igaza van.
A fuggveny, ahol a komment van, 0-t ad vissza, ha a VRT bit 1-ben van.
Aha értem köszönöm. Assemblyben megírtam a programot de a perceket nem tudom kiolvasni. Vagyis ki tudom csak állandóan 0-át ad vissza. A 2-es címről olvasom tehát azzal nem szabadna gondnak lennie. Mi lehet a probléma? Csatolom az eddig megírt kódot.
|
Bejelentkezés
Hirdetés |