Buenas tardes, mi objetivo es realizar una conversion de un dato digital a un dato analogico y guardar la conversion en una variable. No hay problema en cuanto al envio del dato, sin embargo al intentar guardar la conversion (que la realiza bien ya que en la simulacion la muestro por un voltimetro) siempre me sale 255. Aqui os dejo mi programa, espero puedan ayudarme.
#include <16F877.h>
#use delay(clock=4000000)
#use i2c(Master,sda=PIN_C4,scl=PIN_C3)
#FUSES XT
int i_digital=102; // el dato digital a convertir, por poner uno
float dato;
void main()
{
i2c_start();
i2c_write(0b10010000); //Direccion del 8591 en modo escritura
i2c_write(0x40); //Configuracion
i2c_write(i_digital);
i2c_stop();
i2c_start();
i2c_write(0b10010001); //Direccion del 8591 en modo lectura
i2c_write(0x40);
dato=i2c_read();
i2c_stop();
}
Realmente lo que quiero hacer es mucho mas largo pero el problema le tengo ahi, al intentar guardar la conversion