#include #include #include #include #include #include "ADC_Temp.h" #include "aterlux.h" // value 0..4095 - Это диапазон АЦП, Нужно проверить крайние значения и смоделировать таблицы extern adc_temp_lookup fast_lookup[TABLE_SIZE_LOOKUP]; int main() { init_fast_lookup_table(ALG_STEINHART); for (int i = 0; i < TABLE_SIZE_LOOKUP; ++i) { printf("{%u,%d}, \n", fast_lookup[i].adc_value, fast_lookup[i].temp_c); } //uint16_t value = 4095 / 2; // Должно быть 25 градусов. Это середина диапазона АЦП uint16_t value = 1980; float T_ALG_LINEAR = get_temperature_from_adc(value, ALG_LINEAR); float T_ALG_STEINHART = get_temperature_from_adc(value, ALG_STEINHART); float T_ALG_STEINHART_FULL = get_temperature_from_adc(value, ALG_STEINHART_FULL); float T_FAST = get_temperature_fast(value); float T_ATERLUX = calc_temperature(value); printf("T_ALG_LINEAR = %f \n", T_ALG_LINEAR); printf("T_ALG_STEINHART = %f \n", T_ALG_STEINHART); printf("T_ALG_STEINHART_FULL = %f \n", T_ALG_STEINHART_FULL); printf("T_FAST = %f \n", T_FAST / 10); printf("T_ATERLUX = %f \n", T_ATERLUX / 10); return 0; }