Bruk av EEPROM for pic18f452 i C

P

piscaroy

Guest
hei hei, jeg trenger litt hjelp her .. im nytt i C språk og jeg trenger å bruke EEPROM minne til å lagre data i pic18f452 .. men jeg skrånende finner ut hvordan du kan skrive det

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying eller Veldig trist" border="0" />

.. kan noen en guide meg eller sende mi prøver kodene på EEPROM progamming i C for pic 18 .. jeg trenger virkelig hjelp her ASAP .. thankx myeRoy/ edit1: hmmm im hjelp C18 kompilatoren for min pic18
Sist endret av piscaroy
13. august 2004 6:14, endret 1 gang totalt

 
Du glemte å nevne hvilket kompilatoren du bruker.

Mest kompilatorene har predifined makroer eller biblioteket gunctions tilgang til EEPROM i PIC.

med vennlig hilsen

 
Dette er funksjonen for PIC 18F8720, er den nyeste versjonen av mikrobrikke.
Jeg har brukt veldig god.
Hvis programmet er enkelt, tror jeg at du bør kutte mens (1) erklæring i ghi_byte funksjon (lik EE_Write ()-funksjonen)
Hvis selv forvirre foreta sende til meg pmnam2002@yahoo.com

statiske BYTE ghi_byte (Word addr, BYTE Verdi)
(
Union WORDBYTE EEhighlow;
BYTE ee_err = 0;
BYTE redata;

mens (1) (
PIR2bits.EEIF = 0; / / Xóa c?ng? t
EEhighlow.two = addr;
EEADRH = EEhighlow.one [1];
EEADR = EEhighlow.one [0];
EEDATA = verdi;
EECON1bits.EEPGD = 0; / / Acess EEROM
EECON1bits.CFGS = 0; / / Acess Flash & EEROM
EECON1bits.WREN = 1; / / Write Enable
INTCONbits.GIE = 0; / / Disable Interrupt
EECON2 = 0x55;
EECON2 = 0xAA;
EECON1bits.WR = 1;
INTCONbits.GIE = 1; / / Enable Interrupt
while (PIR2bits.EEIF == 0) (/ / Chua viet xong -> cho
syspulse ();
)
PIR2bits.EEIF = 0; / / Xóa c?ng? t
EECON1bits.WREN = 0; / / Skriv Disable

if (EECON1bits.WRERR == 0) (
redata = doc_byte (addr);
Nov ();
if (redata == verdi)
return (0);
)
ee_err ; / / Feil
EECON1bits.WRERR = 0; / / Reset cho l? N vi? T sau
if (ee_err> 2)
return (1); / / Báo l? i khi GHI qua 2 l? n
)
)

statiske BYTE doc_byte (Word addr)
(
BYTE TempValre;

Union WORDBYTE EEhighlow;
EEhighlow.two = addr;
EEADRH = EEhighlow.one [1];
EEADR = EEhighlow.one [0];

EECON1bits.EEPGD = 0; / / Acess EEROM
EECON1bits.RD = 1; / / Les Enable
TempValre = EEDATA;
return (TempValre);
)

 

Welcome to EDABoard.com

Sponsor

Back
Top