Hola a todos, estoy comenzando a usar el compilador ccs y me tope con un proyecto en el que tengo que grabar un dato del tipo int32 en la eeprom interna de un 16f873, utilizando las funciones write_eeprom() y read_eeprom() descubri que todo iba bien mientras mi dato valiera menos de 255, entonces busque por todo internet y encontre esta solucion que parecia resolver mi problemamuestro la parte del programa que me interesaba)
write_eeprom(direccion,cont2>>8); //Escribes primer byte (parte mas significativa del int16)
write_eeprom(direccion+1,cont2); //Escribes segundo byte (parte menos significativa del int16)
valor_leido = read_eeprom(direccion);
valor_leido = valor_leido<<8;
valor_leido = read_eeprom(direccion+1);
printf(lcd_putc, "Dato: %Lu",valor_leido);
Sin embargo esto no me funciono, ya que por lo visto esto sirve para un tipo de dato int16, de ahi intente hacer variaciones del programa anterior (hscer desplazamientos del tipo <<16 y <<24) para adaptarlo a un int32, pero no obtuve ningun buen resultado. Si alguno de Uds. tiene algo mas de experiencia y puede ayudarme se los agradeceré mucho
write_eeprom(direccion,cont2>>8); //Escribes primer byte (parte mas significativa del int16)
write_eeprom(direccion+1,cont2); //Escribes segundo byte (parte menos significativa del int16)
valor_leido = read_eeprom(direccion);
valor_leido = valor_leido<<8;
valor_leido = read_eeprom(direccion+1);
printf(lcd_putc, "Dato: %Lu",valor_leido);
Sin embargo esto no me funciono, ya que por lo visto esto sirve para un tipo de dato int16, de ahi intente hacer variaciones del programa anterior (hscer desplazamientos del tipo <<16 y <<24) para adaptarlo a un int32, pero no obtuve ningun buen resultado. Si alguno de Uds. tiene algo mas de experiencia y puede ayudarme se los agradeceré mucho