Hola a todos, creo este nuevo tema para ver si alguien me puede ayudar a manejar este integrado ya q me ha dado problemas y no se q estoy haciendo mal. Estoy desarrollando un proyecto donde tengo q enviar unos datos a un integrado LTC2606 ésto con el fin de generar un voltaje de salida en el integrado de acuerdo al dato-valor q le envíe. Para mi proyecto estoy programando un PIC18F4550 en CCS y utilizo las funciones i2c para hacer la escritura del dato en el integrado LTC2606.
He creado una funcion q se encargue de la escritura del dato pero por alguna razon el integrado no da respuesta, esta misma funcion la probe direccionando la escritura a una eeprom externa y efectivamente se envia y se escribe bien el dato en la memoria, por esta razon diria q la funcion esta bien diseñada, creo q el problema estaria a la hora de enviar los paquetes de bytes al LTC2606 ya q viendo el datasheet en la pagina 17 es necesario enviar la direccion del integrado + un comando + los paquetes de datos en un determinado orden. La funcion q diseñe es la siguiente:
void write_ltc2606()
{
int16 x=32000; //dato a enviar al LTC2606
byte data0=*((int8 *)(&x)); //conversion de dato int16 a byte's(byte superior)
byte data1=*((int8 *)(&x) + 1); //conversion de dato int16 a byte's(byte inferior)
i2c_start(); //inicio de envio i2c;
i2c_write(0010000
0); //direccion de LTC2606 segun datasheet pagina 14 (el ultimo bit en negrita es el bit de escritura, 0=escritura 1=lectura)
i2c_write(00110000); //comando para accion del LTC2606 segun datasheet pagina 15 (comando=0011 => Write to and Update (Power Up))
i2c_write(data0); //Escritura del byte superior
i2c_write(data1); //Escritura del byte inferior
i2c_stop(); //fin de envio i2c
}
No se en q me estoy equivocando ya q solo me guio en el datasheet del integrado, si alguien tiene alguna opinion le agradeceria q la escribiera. El link del datasheet LTC2606 es
http://cds.linear.com/docs/Datasheet/26061626fb.pdf adjunto una imagen de como considero q deben ser enviados los datos. Gracias