Тема: String и Integer
Показать сообщение отдельно
  #3  
Старый 28.12.2011, 19:32
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию

Полный код процедуры, где ошибка.
PHP код:
procedure TForm1.Timer1Timer(Sender: TObject);
 var
    
s: string;
    
i: integer;
    
f, RT, RM, Vadc : Double;
 
begin
{ Vadc - напряжение АЦП в вольтах к которому подключен датчик
  Vpit 
- источник постоянного опорного напряжения
  K 
- коэффициент температурной чуствительности, равен 3988
  Rm 
- сопротивление резистора в омах ( схема и формула [url]http://www.kernelchip.ru/KTS-1.php[/url])
  
Ro - сопротивление датчика при 25 oC, равно3 кОм
  RT 
= (Rm*Vadc)/(Vpit - Vadc);
 
Так как модуль запитан через свой стабилизатор 3.3v, Vpit = 3.3v
}
 
RM :=5060.0;///Сопротивление резистора в омах

CS1.Socket.SendText('$KE,ADC,1'#13#10);
 
Memo1.Text:=s;
  {
 
s := edit2.Text;
 }
 if 
s[1] = '#' then begin
 
if copy(s,2,3) = 'ADC' then begin
 i 
:= 5;
 while 
s[i] <> ',' do begin
 
if i > 10 then break; // (*) if i > 10 then break;
 
inc(i);
 
end;
      
inc(i);
      
s := copy(s,i+1,length(s));
      
Vadc:=s/1023.0*3.3;///расчет напряжения АЦП в вольтах
      
RT:= (Rm*Vadc)/(3.3 - Vadc);///расчет сопротивления терморезистора в омах
      
f := (3988.0/({log}(RT/3000.0) + 3988.0/298.0))-273;///Расчет температуры в градусах цельсия
      
Form1.Edit1.Text := FormatFloat('0.0000 C"',f);
      
end;
    
end;
   
end; 
Ответить с цитированием