Hola estoy buscando una función Int2Str para u16, he encontrado esta:
void Int2Str(char *str, u32 intnum)
{
u32 Div = 1000000000;
int i, j = 0, Status = 0;
for (i = 0; i < 10; i++)
{
str[j++] = (intnum / Div) + 48;
intnum = intnum % Div;
Div /= 10;
if ((str[j-1] == '0') & (Status == 0))
{
str[j] = '\0';
j = 0;
}
else
{
str[j] = '\0';
Status++;
}
}
}
Pero por ejemplo si la temperatura real es 27.5 solo me muestra en el LCD 27 y una ristra de caracteres al azar. puede ser debido a que el valor de la variable me viene dado del ADC en un u16 en lugar de en un u32?