capacità memoria 24LC32A e libreria i2cEEPROM

11 Anni 6 Mesi fa #1 da StefA
quanta "memoria" ha la 24LC32A montata sulla freedom II?
Con la libreria i2cEEPROM, come faccio ad indirizzare una cella il cui indirizzo è maggiore del limite dell'int (32.767)?

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 6 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic capacità memoria 24LC32A e libreria i2cEEPROM
Ciao StefA,

per la serie 24xx, le xx indicano i Kbits della memoria, per cui espressa in byte hai 4KByte.
Per cui non c'e' problema ad indirizzare tale memoria.

Con un int pero' hai un problema...il massimo indirizzamento e' 32KByte ovvero 256 KBits.
Quindi la libreria funziona correttamente fino alla memoria 24LC256 o 24LC512, qualora se ne usi solo la meta'.

Ho appena corretto la libreria cambiando in in unsigned int ma devo fare i test.

Per memorie piu' grandi di 512Kbits i due byte di indirizzamento usati nel protocollo I2C non sono piu' sufficienti. Infatti nelle memorie tipo 24LC1024, se memoria non mi inganna viene usato un bit dei tre che normalmente vengono usati per indirizzare la memoria nel bus.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 6 Mesi fa #3 da StefA
Grazie!
Chiedevo la capacità per conferma, dal datasheet avevo capito che era organizzata in 4K da 8bit, e pensavo erroneamente che se puntavo ad un indirizzo maggiore la libreria mi restituisse errore.
Siccome continuava a scrivere, mi è venuto il dubbio che avessi capito male.
Invece da "rinco", non ho considerato che:

1)le celle di memoria sono da 0-4095, quindi 4096 e non 4k (infatti questo valore così "decimale" mi suonava strano)

2)se scrivo all'indirizzo 4096, in realtà la memoria vede solo i primi 12bit e se ne frega del 13esimo, quindi scrive in 0

Ho qualche 24LC512 nel cassetto, ma non ho urgenza di tutto quello spazio, posso aspettare un aggiornamento futuro della libreria...se nel frattempo dovessi fare quealche prova vi aggiorno.

Però ho anche già una parte di codice che mi scrive un valore in memoria fino ad un limite che imposto io e volendo legge la memoria e mi invia tutto su seriale, basterebbe questa prova (dopo la modifica della libreria int->unsigned int) per dichiarare che funziona?

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 6 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic capacità memoria 24LC32A e libreria i2cEEPROM
Ciao,

la libreria non sa quanto sia grande la memoria usata.
Non sono certo se le EEPROM esterne non restituiscono ACK nel caso in cui l'indirizzo richiesto in R o W eccede la memoria stessa.
Nel caso affermativo, si potrebbe leggere un indirizzo di memoria in maniera progressiva fino a quando non si ha un mancato ACK.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 6 Mesi fa #5 da StefA
avevo provato a mettere il ritorno della funzione della tua libreria dentro una variabile; poi scrivevo nella memoria fino ad un limite impostato da me e nel caso il ritorno fosse stato diverso da 1, visualizzavo un errore, però ho scritto la suddetta memoria fino ad indirizzi maggiori di 32000 (ovviamente oltre il 4096 lui ricominciava a scrivere dall'inizio o da altre parti).
Per tagliare la testa al toro poi ho fatto così:
ho messo ad FF tutta la memoria, ho letto la cella 0 ed era ovviamente ad FF, poi ho scritto 06 nella cella 4096 e rileggendo la cella 0 aveva come valore 06, il tutto senza errori.

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login