Estoy tratando de guardar algunos valores en la memoria, tengo una matriz con 6 valores como se muestra a continuación
Datos [6] = {5045.567,4567.987,4.5,190.5, 70.5,500};
Tengo que guardar este tipo de datos en la memoria flash. Tengo memoria que puede almacenar solo 16 bits en cada dirección y puedo escribir 16 bits. Necesito escribir dos veces para escribir un valor flotante. Estoy multiplicando 5045.567 por 1000 para hacer un entero largo 5047567 de modo que pueda guardar el valor flotante (dos direcciones para escribir el valor flotante). Mis datos se verán así.
long int Data [6] = {5047567, 4567987, 4500 190500,700500,500}
¿Existe algún método mejor para guardar el valor flotante en lugar de multiplicarse por 1000 para que sea un entero tan largo?
Para guardar este tipo de datos, necesito dos direcciones en algún momento y una dirección es suficiente por algún tiempo. Tendré este tipo de datos cada 10 segundos, no puedo escribir en la memoria cada 10 segundos debido a las funciones de ahorro de energía.
Estoy tratando de recopilar valores cada menta y tratar de escribir en la memoria a la vez cada menta.
Para esto he inicializado una matriz con tamaño [36] y guardando todos los valores después de una menta. ¿Hay alguna otra manera mejor de recolectar valores por cierto tiempo y guardar una vez?
Estoy recolectando los 36 valores en una matriz. por ejemplo, los dos primeros valores necesitan dos direcciones en la memoria, luego los cuatro valores siguientes solo necesitan una dirección en la memoria. ¿Cómo puedo incrementar la dirección en la memoria para ciertos valores? o ¿es mejor dividir los valores largos en dos enteros antes de almacenarlos en una matriz?