Actualmente estoy trabajando en STM32F479 Eval Board. Tengo que recopilar datos de los nodos de los sensores y almacenarlos en un archivo de texto con FatFs. Los valores de mi sensor están en valores hexadecimales. Estoy utilizando STM32F4Cube HAL Library que incluye FatFs. Estoy usando la función f_write () para pasar estos valores hexadecimales a un archivo de texto. Pero se está almacenando como valores de basura que no son los esperados. Cuando uso f_printf () funciona perfectamente como se esperaba (los valores hexadecimales se almacenan). Pero al volver a leer, muestra otros valores que no son los valores almacenados. Tengo dos preguntas.
-
¿Cuál es la manera perfecta de almacenar valores Hex en un archivo de texto y leer lo mismo de un archivo de texto usando FatFs?
-
¿Hay alguna otra forma como convertir estos valores hexadecimales a char antes de pasarlo a un archivo y volver a convertir después de leer un archivo?
Mi código:
uint8_t Buff[]; // Buffer to read data from Sensors
uint32_t byteswritten;
f_write(&MyFile,Buff,sizeof(Buff),(void*)byteswritten); //But writing some other values
for(i=0;i<sizeof(Buff);i++)
{
f_printf(&MyFile,Buff[i]); //Writing properly But reading throws unexpected values
}