MODEL_ADC_EX/APP/main.c

67 lines
2.5 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <stdio.h>
#include "ADC_Temp.h"
extern adc_temp_lookup fast_lookup[TABLE_SIZE_LOOKUP];
int main() {
uint16_t adc_value = 1980;
printf("\n-----------TABLE_KST45------------------\n");
// Инициализация с таблицей KST45 и R1=3300 Ом
init_fast_lookup_table(TABLE_KST45, 3300.0f, ALG_STEINHART);
// Получение температуры
float temp = get_temperature_from_adc(adc_value, ALG_STEINHART);
int16_t temp_fast = get_temperature_log_fast(adc_value);
printf("ADC: %u, temp_fast: %.1f °C\n", adc_value, temp_fast / 10.0f);
// Пример доступа к таблице
printf("\nПример данных из таблицы быстрого поиска:\n");
for(int i = TABLE_SIZE_LOOKUP - 1; i > TABLE_SIZE_LOOKUP - 5; i--) {
printf("ADC: %u, Temp: %.1f °C, Resistance: %.2f Ω\n",
fast_lookup[i].adc_value,
fast_lookup[i].temp_c / 10.0f,
fast_lookup[i].resistance_ohm);
}
// Пример доступа к таблице
printf("\nПример данных из таблицы быстрого поиска:\n");
for(int i = 0; i < 5; i++) {
printf("ADC: %u, Temp: %.1f °C, Resistance: %.2f Ω\n",
fast_lookup[i].adc_value,
fast_lookup[i].temp_c / 10.0f,
fast_lookup[i].resistance_ohm);
}
printf("\n-----------INCAR------------------\n");
// Смена конфигурации на INCAR с R1=20000 Ом
// set_active_config(TABLE_INCAR, 2000.0f);
init_fast_lookup_table(TABLE_INCAR, 3300.0f, ALG_STEINHART);
temp_fast = get_temperature_log_fast(adc_value);
printf("ADC: %u, temp_fast: %.1f °C\n", adc_value, temp_fast / 10.0f);
// Пример доступа к таблице
printf("\nПример данных из таблицы быстрого поиска:\n");
for(int i = TABLE_SIZE_LOOKUP - 1; i > TABLE_SIZE_LOOKUP - 5; i--) {
printf("ADC: %u, Temp: %.1f °C, Resistance: %.2f Ω\n",
fast_lookup[i].adc_value,
fast_lookup[i].temp_c / 10.0f,
fast_lookup[i].resistance_ohm);
}
// Пример доступа к таблице
printf("\nПример данных из таблицы быстрого поиска:\n");
for(int i = 0; i < 5; i++) {
printf("ADC: %u, Temp: %.1f °C, Resistance: %.2f Ω\n",
fast_lookup[i].adc_value,
fast_lookup[i].temp_c / 10.0f,
fast_lookup[i].resistance_ohm);
}
return 0;
}