Hola, solo electronico y estoy haciendo una estación metereologica para uso personal, he programado la temperatura la presion y la humedad y funciona bien, pero me gustaria sacar el primer decimal de la temperatura. El problema que tengo es que el LCD solo tiene las funciones printf y printstring
el codigo es el siguiente:
Me gustaria saber si hay alguna funcion que saque el primer decimal de un unsigned y lo guarde en otro unsigned o algo parecido.
Gracias
el codigo es el siguiente:
Código:
ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS ,
ADC1_CHANNEL_0 , ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM,
DISABLE, ADC1_ALIGN_RIGHT,ADC1_SCHMITTTRIG_CHANNEL1,
DISABLE); //Init ADC
ADC1_StartConversion();
while(!(ADC1->CSR & 0x80 ));
temper=ADC1_GetConversionValue();
tempValue=((temper*300)/614);
tempValueF=((tempValue*1.8)+32);
GPIO_WriteHigh(GPIOA,GPIO_PIN_3); // LED ON
LCD_CLEAR_DISPLAY();
LCD_printstring("Temperature\n");
LCD_2ndROW(); // Second line of LCD
LCD_printf("%u\n",tempValue);
LCD_printchar(0xdf); // Character º
LCD_printf("C \n");
LCD_printchar(0x2F); // Character /
LCD_printchar(0x2F);
LCD_printf(" %u\n",tempValueF);
LCD_printchar(0xdf);
LCD_printf("F \n");
GPIO_WriteLow(GPIOA,GPIO_PIN_3); // LED OFF
Delay (2400);
Me gustaria saber si hay alguna funcion que saque el primer decimal de un unsigned y lo guarde en otro unsigned o algo parecido.
Gracias