Tengo un problema al interpretar la lectura de temperatura de un chip DS18B20. Hay una cierta situación que no puedo resolver. Esta es la tabla temporal de ejemplo para el chip de la hoja de datos:
un ejemplo para leer -0.5 * C se muestra como FFF8. Cortando los 4 LSBits obtenemos 0x0FFF. En una estructura de datos firmados que es igual a -1, no a 0. ¿Cómo puedo resolver la diferencia entre 2 lecturas: -0.5 * C y -1.5 * C? Si 0xFFF8 = -0.5, ¿cuál es la forma de -1.5?
La tabla muestra un ejemplo para -10.125 * C. Cortar los 4 LSBits da 0x0FF5, que en realidad es -10, entonces no hay razón para pensar que hay algún tipo de cambio para leer valores negativos ...