Помогите с программой
От: harold  
Дата: 14.12.10 21:48
Оценка:
Это программа для ADAM-5510, система мониторинга температуры на основе 8-канального микропроцессорного модуля ADAM-5017.
Я закомментировал те места, где необходим реальный ADAM-5510

Tab[2][21] — это таблица соответствий значения кода АЦП температуре.
Нужно, чтобы программа брала из этой таблицы значения и выдавала температуру (например, при поступлении кода 28573 должна высветиться температура -50 градусов)
А если кода нет в таблице, то значение должно рассчитываться с помощью двух ближайших табличных значений (например, код 22500. 22937-22020=917. 917 разделим на 10 градусов. Получим 91.7. 22500-22020=480. 480/91.7=5.2. Так 22020 соответствует 20 градусам, то 22500 будет соответствовать 25.2 градуса.)



#include <conio.h>
#include <5510drv.h>
int *T0,*T1,*T2,*T3,*T4,*T5,*T6,*T7, i, Ntab;
float T0gr,T1gr,T2gr,T3gr,T4gr,T5gr,T6gr,T7gr;
long int Delay;
unsigned char IOModuleName;
unsigned char SlotNumber;

//float Convert(int T)
float Tab[2][21]={
{28573, 27656, 26607, 25690, 24772, 23855, 22937, 22020, 21233, 20447, 19529, 18874, 18088, 17432, 16646, 15991, 15466, 14811, 14287, 13893, 13500},
{-50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150}
};
for(i=0;i<Ntab;i++)
{if(Tab[i,1]>T0)
break;

main()
{
SlotNumber=0;
IOModuleName=0x04; //Get_BoardID(SlotNumber);
if(IOModuleName!=ADAM5017_ID)
{
printf("\nProverte slot");
exit(1);
}
else{
printf("\n Inicializaciya ADAM-5017");
//Init501718(0);
}

// while(1)
{
//Get501718(0,0,T0); T0gr=Convert(T0);
//Get501718(0,1,T1); T1gr=Convert(T1);
//Get501718(0,2,T2); T2gr=Convert(T2);
//Get501718(0,3,T3); T3gr=Convert(T3);
//Get501718(0,4,T4); T4gr=Convert(T4);
//Get501718(0,5,T5); T5gr=Convert(T5);
//Get501718(0,6,T6); T6gr=Convert(T6);
//Get501718(0,7,T7); T7gr=Convert(T7);
printf("\n Temperatura gradusov=%5.1f %5.1f %5.1f %5.1f %5.1f %5.1f %5.1f %5.1f",T0gr,T1gr,T2gr,T3gr,T4gr,T5gr,T6gr,T7gr);
for(Delay=100000; Delay>0; Delay--);
}
}
return (0);
}

ОЧЕНЬ НУЖНА ПОМОЩЬ!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.