Keresés: 
 Bejelentkezés
Nick:
 
Jelszó:
 
 
 
   
» Elfelejtettem a jelszavamat :'(
» Regisztráció
 Fórum témák
» Több téma
 Frissek
RSS hírforrások
  Hírek.rss
  Fórum.rss
  2012. Máj, 26. Szo
7:08:20
  Jelenleg 222 fő olvassa az oldalt
Fórum » Pontra menő témák » EEPROM írási probléma »
EEPROM írási probléma  
Témaindító: totyi, idő: Ápr 11, 2009
Témakörök
Mikroprocesszorok » Microchip processzorok
Mikroprocesszorok » EEPROM
Digitális áramkörök » Memóriák
Lapozás Méret: 1 / 1
(#415594) totyi Válasz • Ápr 11, 2009
Sziasztok! A problémám az, hogy adott egy 24LC64 I2C-s EEPROM valamint egy PIC18F4525 és a page write művelet alkalmazásakor nem hajlandó beírni a 32-ik byte-ot. Így csak 31-et ír be, hiába állítottam be a ciklusváltozót a WRITE_PAGE _EEPROM szubrutinban.
Kérlek segítsetek mert megőrülök attól miért nem működik amikor elvileg a program helyes.
» A fájlok letöltéséhez be kell jelentkezned! «

(#415674) besi99 válasza totyi hozzászólására (#415594) Válasz • Ápr 11, 2009
ugye az első tag 0?

(#415695) totyi válasza besi99 hozzászólására (#415674) Válasz • Ápr 11, 2009
Pontosan melyik első tagra gondolsz a forrásban?

(#416217) watt válasza totyi hozzászólására (#415695) Válasz • Ápr 12, 2009
Ő a címre gondolt! 0...31!

(#416269) totyi válasza watt hozzászólására (#416217) Válasz • Ápr 12, 2009
Akkor igen, a cím ahonnan elkezdem az írást a 0.

(#416278) watt válasza totyi hozzászólására (#416269) Válasz • Ápr 12, 2009
És ahol befejezi az a 31 ?

(#416367) besi99 válasza watt hozzászólására (#416278) Válasz • Ápr 12, 2009
és ha 32-ig írnád a ciklust?

(#416436) totyi válasza besi99 hozzászólására (#416367) Válasz • Ápr 12, 2009
Ha a 32-ig írom akkor túlcsordul és az eeprom belső bufferjében a legelső helyre kerül a byte. Valami miatt nem akarja kiirni a legutolsot.

(#421103) spellfire válasza totyi hozzászólására (#416436) Válasz • Ápr 19, 2009
Szia!

Szerintem ha 0-tól 31-ig ír, az már 32 byte, de javítsatok ki ha tévednék...

(#421238) totyi válasza spellfire hozzászólására (#421103) Válasz • Ápr 19, 2009
Igen ez igaz amit leírtál, én is így gondolom. De ha megnézed a forráskódot ott is így van, de ennek ellenére nem hajlandó beírni a legutolsó byte-ot az eepromba. Helyette 0xFF kerül. De futtasd le a kódot és próbáld ki egy 24LcXX EEPROM-on. Lehet hogy nálad működne, de akkor visszaadom a diplomámat.

(#429548) subi Válasz • Máj 4, 2009
Sziasztok!

Segítséget szeretnék kérni tapasztaltabb hobbitársaktól. PIC16F877 eeprom íráshoz a progi fordításánál az MPLAB hibaüzenetet küld amikor a kötelező szekvenciaként megadott AAh sor fordításához ér.
a progi részlet:
IRAS
BSF STATUS, RP1
BCF STATUS, RP0
MOVLW 0x00
MOVWF EEADR
MOVLW 0x01
MOVWF EEDATA
BSF STATUS, RP0
BCF EECON1, EEPGD
BSF EECON1, WREN

BCF INTCON, GIE

MOVLW 55h ;közelező szekvencia
MOVWF EECON2
MOVLW AAh
MOVWF EECON2
BSF EECON1,WR

VAROK
BTFSC EECON1, WR
GOTO VAROK

BSF INTCON, GIE
BCF EECON1, WREN
bcf STATUS,RP0
bcf STATUS,RP1
RETURN

A hibaüzenet:
Error[113] F:\PRóBA_PROGRAM_PIC16F877\ASM_ELSO\MAIN.ASM 119 : Symbol not previously defined (AAh)

Kérlek titeket, amennyiben tudtok, írjátok meg mi a probléma. Továbbá szívesen fogadnék egy PIC16F877 -re már megírt eeprom kezelést, tanulás céljából.

Köszönettel:
Subi

(#429565) szilva válasza subi hozzászólására (#429548) Válasz • Máj 4, 2009
Írj "0AAh"-t az "AAH" helyére, mert az egy hexadecimális szám lenne, de mivel nem számjeggyel kezdődi, címkének gondolja a fordító, ilyen címke meg nincs definiálva.

(#429585) subi válasza szilva hozzászólására (#429565) Válasz • Máj 4, 2009
Szia Szilva!

Köszönöm. A fordító így már sikeresen fordít. Azonban sajnos a visszaolvasott értékem nem stimmel. Szóval ha tudnál egy egyszerű assemblyben írt kis progit feltenni, sokat segítenél. Illetve ha az én tanuló programomat megküldhetném neked átnézésre, azt is megköszönném.
Egyébként kitűnően működik a PICKIT2.

Üdv.

Subi

(#429648) szilva válasza subi hozzászólására (#429585) Válasz • Máj 4, 2009
Pedig ez nem tűnik rossznak ránézésre. Utána kellene nézni errata-ban, hogy nincs-e valami EEPROM írási probléma a 877-nél. Lehet, hogy az EEPROM írási megszakításflaget érdemesebb lenne figyelni, mint a WR bitet.

(#429671) kissi válasza subi hozzászólására (#429585) Válasz • Máj 4, 2009
Ez így jó, a szimuláció szerint is működik!

Valami másban lehet a hiba, én használtam már 877-ben és jó volt!

Steve

(#429780) subi válasza kissi hozzászólására (#429671) Válasz • Máj 5, 2009
köszönöm nektek. Átnézem a program felépítését, mivel a fordító bár sikeren lefut, mégis számos üzenetet küld a bank -okkak kapcsolatban.

Üdv.
Subi

(#429792) kissi válasza subi hozzászólására (#429780) Válasz • Máj 5, 2009
A BANK-os üzenetek csak arról szólnak, hogy Te ellenőrizd, hogy megfelelő BANK-ban voltál a parancs kiadásakor ( fordítási opcióként ki is lehet kapcsolni ezeket az üzeneteket!).
A program fordításának szempontjából az a lényeg, hogy ne legyen benne ERROR!
Az írás programod nekem működött a szimulációban, át is néztem, nem láttam benne gondot (bár én az információ beírásának a tesztelését a rutinból történő visszatérés előtt szoktam elvégezni általában!), szerintem vagy az olvasással van gondod, vagy az írás meghívása előtti környezet okoz problémát ( ezek szimulációval jól kideríthetőek!).

Steve

(#437880) Hp41C válasza totyi hozzászólására (#415594) Válasz • Máj 18, 2009
Szia!

Szerintem egy 33. kiolvasott adattal felülírod a BUFFER31 ben a jó kiolvasott 32. adatot.
A ciklus 32-szer fut le, eztán meg olvasol egyet NOACK-val.
Helyesen 31 darabot ACK-val és egyet NOACK-val kell olvasni.
A ciklust írd át 0x20 helyett 0x1F -re.

SEQUENTIAL_READ_EEPROM:
  MOVLW  LOW(BUFFER0)
  MOVWF  FSR0L
  CLRF  FSR0H
  
  MOVLW  0X20
  MOVWF  CIKLUS_VALTOZO



(#447501) illestibor  Válasz • Jún 3, 2009
Segitseget kernek egy M35080 tipusu eeprom programozsi lehetosegerol.nem talalok ra a neten semmi megepitheto programozot csak valami borsos kulfoldi programozo keszulekeket , de ez elvileg ugyancsak valami spi-buszos eeprom.Ha valaki tudna nekem segitseget felvilagositast adni nagyon megkoszonnem.

(#447512) kobold válasza illestibor hozzászólására (#447501) Válasz • Jún 3, 2009
Az adatlapja szerint egy "mezei" SPI-buszos EEPROM, vagyis keress olyan eszközöket / programokat, amik PC-ről erre a kommunikációra képesek (segítség a keresésben). A kérdés inkább az lesz, hogyan értelmezed a memória tartalmát, amennyiben erre is szükséged volna, cél (BMW-s, ha jól láttam)-eszköz nélkül.

(#447527) Dudus válasza kobold hozzászólására (#447512) Válasz • Jún 3, 2009
Nem csak a BMW használja, hanem pl. az Opel is. Kilométeróra adatait tárolja, annak az átírásához szükséges. A kiolvasott tartalmat módosítják, majd beírják egy üresbe vagy egy reset-elt régibe és így pörgetik vissza az órákat.

A HW nem egy nagy durranás, a hozzá adott szoftver, ami dekódolja a tartalmat , módosít és újrakódol, az a drága. Csak egy programozóval, ha nem tudod mit, hogyan kell módosítani nem sokra mész.

Nem olcsó a programozó hozzá. persze nem az ára miatt, inkább a várható bevétel okán.


-szerintem-

(#447557) kobold válasza Dudus hozzászólására (#447527) Válasz • Jún 3, 2009
Valószínűleg így van, nagy haszonért nagy befektetés kell Van, ahol letölthető egy programozó szoftver, de az meg a szintén drága célhardver nélkül nem fog sokat érni.
Elég sok fejtörést okoz az embernek, ha csak bináris állománya van, és el akar igazodni benne...

(#447579) Dudus válasza kobold hozzászólására (#447557) Válasz • Jún 3, 2009
Egy nagy, keleti országban csinálnak dump-okat különböző óraállásnál és abból dekódolják mi , mikor változik. Nagyon sziszifuszi munka. Manapság meg senki nem hiszi el a kilométeróra állását, akkor sem ha valós. Így lassan ennek sem sok az értelme, max. , ha a céges autóval benzint akarsz "megtakarítani".

Néha (gyakran) vágyom egy olyan országra, ahol nincs ilyen !

(#447710) illestibor Válasz • Jún 3, 2009
Igen, opelrol van szo! elment a regi muszerfal, es masikat bontottat akartam rakni bele, viszont a kilometerallast a regit akartam, de mikor megcsereltem volna az epromokat az egyik kicsit meghallt, beletort a tokozasba. Eshat a masik muszerfal persze mas tipusu motort tartalmaott es most az alapjaratot is rosszul mutatja.gondolom az is ott volt traolvaszoval szivas! es nem tudom felprogramozni mert meg tartalmat azt talaltam volna uress ic-t is vettem de semmikepp sem sikerul beleirnom semmit.szivas.Probalkoztam a 25-os szeriaval de ugy nem ismeri, merthat azis spi-os, dehat persze a hogy moricka elkepzelte sajnos nem jott be!
Szoval ha valaki tudna vagy ratalalna valami kis rajzra megkoszonnem.Udv.tibi

(#461092) szepi003 Válasz • Jún 25, 2009
Sziasztok. Egy 93c86an eepromot szeretnék átmenteni,egy másikba . A probléma,hogy Pic kit2-vel,ki olvasva ellenőrzéskor állandóan hibát ir ki .Az eeprom jó,mert az adott készülékbe rendesen működik.Esetleg valami ötlet, hogy, mi lehet a gond.Egyébként 93c86wp tip.rendesen ir-olvas.Mi különbség a két eeprom között köszönöm szepi003

(#467071) Hp41C válasza szepi003 hozzászólására (#461092) Válasz • Júl 4, 2009
Szia!

- A 93C86C beállíthatóan byte(8 bites)/word(16 bites) szervezésű memória. Az ORG lábon levő szinttől függ a szervezése: ORG=0 esetén 8 bites, ORG=1 esetén 16 bites.

Az egyes gyártók különböző tokozású (a típusszám végén levő betü : a ill w) példányai különböző lábkiosztásúak.

A gyártótól az adatlapot letöltve ellenőrizni kell a két típus lábkiosztását.

(#642945) zlanczky Válasz • Feb 20, 2010
Sziasztok!
pic16f887 belső EEprom írás problémám van, mikroC nyelven.
A csatolt "eeprom_unionnal.c" kíválóan működik.
Ugyanez a kódrészlet egy komplexebb progamban nem működik. A nagyobb program külső impulzusra hőmérsékleteket mér és hőfogyasztást számol,majd LCD-n megjeleníti. Szeretném EEpromba menteni a hőfogyasztás értékeit, egy long és egy integer változót, hogy áramkimaradás esetén se felejtse el, hol tartott.
Sajnos nem stimmel a beírás, a csatolt kódrészlet csak az első bájtot írja be sikeresen, utána a többi bájt marad FF. Nagyon sokféle dolgot kipróbáltam már, de nem megy. Van valakinek ezzel tapasztalata?
köszi laz
» A fájlok letöltéséhez be kell jelentkezned! «

(#650704) zlanczky válasza zlanczky hozzászólására (#642945) Válasz • Márc 1, 2010
Az utókor számára rögzítem a megoldást:
egyszerű változat: az interruptot nem szabad engedélyezni, így megoldódik a probléma

Következő 1 / 1
 HEStore.hu
 Hirdetés
TrainModules.hu