Autor Tema: Ayuda con LTC2606!!  (Leído 1126 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mauro2555

  • PIC10
  • *
  • Mensajes: 18
Ayuda con LTC2606!!
« en: 25 de Febrero de 2012, 13:47:49 »
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(00100000);       //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


 

anything