Apie | Visos naujienos | Straipsniai | RSS | Reklama | Kontaktai
 

Prisijungti

Vartotojo vardas:
Slaptažodis:
Prijungti mane automatiškai kiekvieno apsilankymo metu

Jūsų požiūris

Aktyvios diskusijos

Ieškoti forume


Išsami paieška

Dabar forume

[ Administratorius ]
[ Moderatorius ]

Daugiau

EEPROM duomenų atminties panaudojimas PIC18 mikrovaldikliuose

 
Pradėti naują temą   Atsakyti  pranešimą    Pagrindinis puslapis -> Tinklaraščiai -> Kauno technikos kolegijos tinklaraštis
Rodyti ankstesnę temą :: Rodyti sekančią temą  
Pranešimas Autorius
PranešimasParašytas: Antr. 06 07, 2011 17:04    Rašyti temą: Atsakyti su citata

void eeprom_write(unsigned char ee_adr, unsigned char ee_data)

metode reikia pirma tikrinti ar galima rašyti, o ne atvirkščiai: rašyti ir laukti kol nustos rašyti...

INTCONbits.GIE = 1; // leidžiami pertraukimai
EECON1bits.WREN = 0; // draudžiamas EEPROM rašymas

ir kam drausti rašymą po įrašymo? ir net jei dėl mįslingų priežasčių tam pic`e ir reiktų drausti, tai reikėtų vykdyti prieš leidimą pertrauktims! (atominė operacija)

ir dar, pertraukties leidimą reikia grąžinti į seną būklę (pirma įsirašius), o ne bilekaip...
R2-D2



Prisijungė: 2011 06 07
Žinutės: 2

Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Atgal į viršų
PranešimasParašytas: Tr. 06 08, 2011 7:15    Rašyti temą: Atsakyti su citata

Smalsu, ar naudojant atmegą ir "laikroduką" DS1307, ne daugiau galėtume sukaupti duomenų? Na, turiu mintyje ne vien nustatymų saugojimą. Tie PIC'ai kažkaip ne labai jau prie dūšios, nors pradžia ir buvo būtent su jais.
_________________
Išvada gimsta tada, kai nusibosta galvoti
Otto



Prisijungė: 2008 08 31
Žinutės: 1648
Miestas: Biržai

Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Atgal į viršų
PranešimasParašytas: Pir. 06 13, 2011 14:22    Rašyti temą: Atsakyti su citata

o koks skirtumas PIC ar AVR. jei trūksta atminties imi valdiklį, kuris turi jos daugiau. jei vis tiek trūksta, imi išorinį kokį eeprom. jei vis tiek trūksta, tai SD kortą naudoti reikia.

o tai visiškai nepriklauso nuo valdiklio.
R2-D2



Prisijungė: 2011 06 07
Žinutės: 2

Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Atgal į viršų
PranešimasParašytas: Pen. 06 17, 2011 21:59    Rašyti temą: Atsakyti su citata

R2-D2 rašo:
void eeprom_write(unsigned char ee_adr, unsigned char ee_data)

metode reikia pirma tikrinti ar galima rašyti, o ne atvirkščiai: rašyti ir laukti kol nustos rašyti...

INTCONbits.GIE = 1; // leidžiami pertraukimai
EECON1bits.WREN = 0; // draudžiamas EEPROM rašymas

ir kam drausti rašymą po įrašymo? ir net jei dėl mįslingų priežasčių tam pic`e ir reiktų drausti, tai reikėtų vykdyti prieš leidimą pertrauktims! (atominė operacija)

ir dar, pertraukties leidimą reikia grąžinti į seną būklę (pirma įsirašius), o ne bilekaip...


Būtent tokia seka rekomenduojama mikrovaldiklių datasheet'uose. Rašymo draudimas naudojamas siekiant išvengti atsitiktinio rašymo. Tai galbūt nenutiks normaliomis darbo sąlygomis, tačiau....
Dėl pertraukčių leidimo ir draudimo sekos - realiai seka turėtų būti (vėlgi pagal gamintoją):
INTCONbits.GIE = 1; //leidžiamos pertrauktys
//vartotojo kodas - kiti procesai
//rašymo pabaigos laukimas - požymo tikrinimas (poling) arba
//rašymo pabaigos pertrauktis
EECON1bits.WREN = 0; // draudžiamas EEPROM rašymas

Jei nebus leistos pertrauktys, nebus "rašymo pabaigos pertraukties".

Be abejo, visada galima ginčytis su gamintojo inžinieriais...
sk



Prisijungė: 2011 06 17
Žinutės: 4

Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Atgal į viršų
Rodyti žinutes nuo ankstesnės:   
Pradėti naują temą   Atsakyti  pranešimą    Pagrindinis puslapis -> Tinklaraščiai -> Kauno technikos kolegijos tinklaraštis Visos datos yra GMT + 2 valandos
Puslapis 11
Pereiti :  
Jūs negalite rašyti naujų pranešimų šiame forume
Jūs negalite atsakinti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume