 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
mucek Član


 
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5529 Aktiv.: 24.06 Kraj: Domzale
|
Objavljeno: Pon Nov 20, 2006 5:10 pm Naslov sporočila: Vprašanje glede pisanja/branja v EEPROM |
|
|
LP!
Delam aplikacijo z AVRjem, kjer bi rad beležil meritve v EEPROM in jih nato na zahtevo preko UARTa (RS232) pretočil v računalnik.
Zadeve, ki me zanimajo so sledeče:
-pisanje v eeprom: v bascovem help-u je ukaz writeeprom IME , NASLOV
Ker bo pisanje periodično, me zanima, kako bi najlažje pisal v eeprom v sledeči obliki: datum(6digit)+ura(4digit)+meritev(3digit) - problematičen je namreč naslov, ki ga ne bi želel generirati vsakič znova - je možno v Bascomu narediti tako, da ti od nekega mesta pač piše naprej samodejno in nato to območje ko je polno začne prepisovati? Kakšne so dandanes najpogostejše/največje dobavljive vrednosti EEPROM čipov? (shranjevalo naj bi se čimveč meritev)
-branje iz eeproma (readeeprom): isti ukaz (readeeprom , IME, NASLOV
Isto bi želel brati celoten spisek meritev (oz. ga z ukazom PRINT poslati na izhod). Kakšna ideja? (ukaz za prenos podatkov dobim iz RS232, to znam brati bp)
-Ker bo v igri tudi ura (PFC preko i2c) in bosta obe zadevi komunicirali preko I2C me zanima, če je potrebno kaj posebej paziti (razen ukazov i2s start in i2c stop po opravljeni proceduri, da se i2c vodilo sprosti).
Če ima kdo kakšen dober primer oz. že narejen program v bascomu za tovrstno beleženje (temperature, ...), se toplo priporočam...
LP in hvala, Grega |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Pon Nov 20, 2006 5:26 pm Naslov sporočila: |
|
|
Zagotovo so dobavljivi I2C EEEPROMi kapacitete 1024 kilobitov (128 KB), ki se predstavijo kot dva navidezna 512 Kb EEPROMa na zaporednih naslovih.
Ce prav razumem, bo tvoja aplikacija tekla ves cas ? V tem primeru uporabis en stevec (v RAMu MCUja) za FIFO head, drugega za FIFO tail; vsak nov vpis v EEPROM gre na naslov FIFOhead (in poveca FIFOhead za 1 ter uposteva morebitni rollover, pac glede na izbiro velikosti podrocja, ki ga zelis uporabljati kot round-robin buffer - recimo vseh 128 KB v primeru zgoraj omenjenega EEPROMa, ali pa kaj manj, ce tako zelis iz kakrsnegakoli razloga), vsako branje in izpis na UART pa poteka iz naslova FIFOtail (ter poveca FIFOtail za 1 in uposteva morebitni rollover).
Ce FIFOtail ujame FIFOhead, potem je FIFO prazen in ni vec kaj za izpisati na UART, ce pa FIFOhead pride do FIFOtail-1, potem je FIFO poln in vanj ne mores vec vpisovati novih vrednosti (brez da bi unicil najstarejse v njem shranjene podatke). _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|