hola, ya termine el proyecto en el que estaba, pronto lo colgare para que al que le pueda resultar util lo tenga disponible, pero antes quiero hacerle unas mejoras.
se trata de las memorias i2c. me gustaria saber algo mas de ellas.
*lo primero es saber que es cada una y si la equivalencia entre las memorias 24Cxx es directa con la 24LCxx... es decir, es lo mismo una 24c08 y una 24lc08? esta pregunta surge porque al querer leer o escribir memorias eeprom desde el winpic o desde el icprog solo puedo escojer las 24Cxx y no las LC que son las que tengo yo...
*de esto deriva una segunda pregunta, que es porque en winpic al lado de 24c08 dice 1kb, cuando es de 8kb? y eso ocurre con todas las 24cxx... el valor en Kb esta dividido entre 8.
*esta pregunta es sobre como usar las direcciones de memoria. imaginemos que tengo una memoria de 8kb (la 24lc08b), esta tiene una capacidad de almacenamiento de 8192 datos de 1byte. es decir, que tendra direcciones desde 0 (0x00) hasta 8191 (0x1fff). con lo que con usar una direccion que este ente estos valores escribiremos o leeremos de esa direccion. esta direccion tendra que ser de 13bits (2^13=8192), aunque en la practica utilicemos 16bits. si usaramos una memoria de 64kb podriamos usar una direccion de 16bits tambien... pero imaginemos que queremos usar una memoria de 128kb... ahora como hacemos? porque al guardar la direccion en una variable de 16 bits se nos desborda, ya que necesitariamos una variable de 17 bits para manejar las 131072 direcciones de una memoria de 128kb... no?
*y la ultima, entiendo como manejar memorias i2c por software, ya que el compilador ccs trae los drivers para manejar las distintas memorias. pero si quisiera manejarla por hardware con un pic que tenga hard i2c? tengo que usar los mismos drivers de ccs?
se que son bastantes preguntas, no hace falta que respondan a todo, yo por mi parte estoy investigando. desde ya muchas gracias!!!
salu2