Функция получения температуры
unsigned int TempSensor(void)
{
ADC10AE0 = 0x00;
//ADC10CTL0 &= ~ADC10IFG;
ADC10CTL1 = 0x0000;
ADC10CTL0 = 0x0000;
ADC10CTL1 = INCH_10 + ADC10DIV_4; // Temp Sensor ADC10CLK/4
ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + REF2_5V + ADC10ON + ADC10SR;
//ADC10IE
delayMs(1);
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
// oC = ((A10/1024)*1500mV)-986mV)*1/3.55mV = A10*423/1024 - 278
while (!(ADC10CTL0 & ADC10IFG)); // Conversion done?
//temp=ADC10MEM;
unsigned long IntDegC = ((ADC10MEM - 673) * 423) / 1024;
//ADC10CTL0 &= ~ADC10IFG;
return (IntDegC);
}
взято тут и позже попробую чуть переделать, ещё по хорошему надо бы выключить конвертирование
ADC10CTL0 &= ~ENC;
ADC10CTL0 &= ~ADC10IFG;
Комментариев нет:
Отправить комментарий