Jump to content
ELFORUM - Forumul electronistilor

eeprom i2c 24lc515


Guest richard12

Recommended Posts

Guest richard12

sur ?l écriture dans une eeprom i2c, mon programme doit écrire

40 0ctets dans une eeprom 24lc515 et écrire de préférence par pages, et comme c?est toujours

la m?me quantité d?octets qu il doit écrire, donc les adresses devront toujours ?tre séparées de 39

et ainsi de suites.

 

je modifie movlw buffer par movlw 28

pour le datasheet du 24lc515 la capacité d une page est de 64 octets

64K x 8 (512K bit)

 

pouvez vous m?aider avec un exemple

merci

[email protected]

 

 

 

 

 

;*****************************************************************************

; ENVOYER LE BUFFER DANS L'EEPROM *

;*****************************************************************************

;-----------------------------------------------------------------------------

; Envoie le buffer dans l'eeprom

;

; buffer contient les données ? envoyer

; buflen contient le nombre d'octets ? envoyer (détruit apr?s l'exécution)

; eepa contient l'adresse d'écriture

;-----------------------------------------------------------------------------

eep_sendbuf

call eep_adress ; initialiser pointeur adresse

movlw buffer ; charger adresse buffer

movwf FSR ; dans pointeur

eep_sendb1

 

movf INDF,w ; charger un octet

call i2c_write ; l'envoyer

incf FSR,f ; incrémenter pointeur buffer

decfsz buflen,f ; décrémenter nbre d'octets restants

goto eep_sendb1 ; pas fini, suivant

call i2c_stop ; fin du transfert

return ; et retour

 

;C?est toujours aussi simple, on ne s?occupe nullement de l?électronique. Il nous reste

;maintenant notre procédure d?initialisation du pointeur d?adresse. L?adresse ? placer dans le

;pointeur se trouve dans ? eepa ? Les opérations sont un peu plus longues :

;- On envoie un start-condition

;Label 1

;- On envoie l?adresse du circuit en écriture (écriture de ? 1010 A2 A1 A0 0 ?)

;- On lit l?ack reçu.

;- Si NOACK, on envoie un repeated start-condition et on recommence ? Label 1

;- Si ACK :

;- On écrit l?octet d?adresse de poids fort (eepa)

;- On écrit l?octet d?adresse de poids faible (eepa+1).

;Une fois de plus (j?insiste), ne confondez pas l?adresse de l?eeprom (1010 A2 A1 A0

;R/W), avec l?adresse de lecture ou d?écriture de l?octet dans l?eeprom (2 octets eepa).

Link to comment
  • Replies 0
  • Created
  • Last Reply

Popular Days

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines