Sari la conținut
ELFORUM - Forumul electronistilor

eeprom i2c 24lc515


Vizitator richard12

Postări Recomandate

Vizitator 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 spre comentariu
  • Răspunsuri 0
  • Creat
  • Ultimul Răspuns

Zile populare

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări