42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
#include <stdio.h>
|
|
#include <stdint.h>
|
|
#include <time.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#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;
|
|
} |