Demo capteur analogique de température (CTN) Ce programme affiche la valeur brute en entrée ADC0 (en LSB de 0 à 1023), la résistance de la CTN et la température sur la liaison série (UART0):
#include <avrio/delay.h>
#include <avrio/tc.h>
#include <avrio/adc.h>
#include <avrio/ntc.h>
#define BAUDRATE 115200
#define PORT "tty0"
#define R 18000 // Résistance fixe du pont divisieur 18k/1%
int
main (void) {
uint16_t usAdc;
double dRes, dValue;
double dShCoeff[] = {
9.310296797541951e-04,
2.308343095769287e-04,
3.001370069362199e-06,
5.407975166655454e-08
};
stdout = serial_port;
printf ("ADC0,Res,Temp\n");
for (;;) {
dRes = R * ( 1024 / (double)usAdc - 1);
printf ("%u,%.0f,%.02f\n", usAdc, dRes, dValue);
}
return 0;
}