Bonjour,
Je suis débutant en électronique, et je veux commencer un projet.
Mon projet est avec un PIC 16F876A et un Eeprom 24LC512. Mon pic reçois des données (entre 36 - 42 bits) et je voudrais les sauvegardés sur l'Eeprom 24LC512.
J'ai chercher sur le net est le forum et j'ai trouver ce code source dont j'ai édité.
dim EE_Adr as word ' This is the address to write to
dim EE_Data as byte ' This is the data to read write
dim EE_Pointer_H as byte ' these values are what is stored in EEPROM
dim EE_Pointer_L as byte
void main (void)
{
TRISB = 0b00001111;
TRISC = 0b00000000;
delay_ms(2000)
I2C_init(100000) // initialize I2C
EE_Adr = $7FFE // his pointer of written address
Gosub EE_Read
if EE_Data = $ff then
EE_Adr = 0x00 // No data was written so set pointer to zero
goto loop
end if
EE_Pointer_H = EE_Data // Something was written so set the his address
EE_Adr = $7FFF // pointer to low record
Gosub EE_Read
EE_Pointer_L = EE_Data
EE_Adr = (EE_Pointer_H * $100)
EE_Adr = EE_Adr + EE_Pointer_L // math to set address in word
}
EE_Read:
I2C_Start ' Issue I2C start signal
I2C_Wr($A0) ' Send byte via I2C
I2C_Wr (hi(EE_Adr)) ' Send byte(address for EEPROM)
I2C_Wr (lo(EE_Adr)) ' Send byte(address for EEPROM)
I2C_Repeated_Start ' Issue I2C signal repeated start
I2C_Wr($A1) ' Send byte (request data from EEPROM)
EE_Data = I2C_Rd(0) ' Read the data
I2C_Stop ' Issue I2C stop signal
return;
Voici le schéma :
Le pin RB1 reçois les données et les sauvegarde dans l'eeprom 24LC512. Ce code peut il fonctionner ?? Je peux pas le tester moi même pour le moment.
Merci pour toutes réponses / Conseils.
Au revoir.
-----