VAG
Radim Götz
radim2
Středa Březen 17 12:05:56 CET 2004
Tady je ta procedura.
type
T_DALAS=record
T_LSB : byte;
T_MSB : byte;
USER1 : byte;
USER2 : byte;
RES1 : byte;
RES2 : byte;
REMAIN : byte;
PER_C : byte;
CRC : byte;
end;
var
Teplota : real;
Stav_portu : byte;
input:byte;
TEP : string;
teplota := DALAS.T_LSB / 2;
{cast procedury}
if DALAS.T_MSB = 255 then begin
DALAS.T_LSB := not (DALAS.T_LSB);
inc (DALAS.T_LSB);
teplota := DALAS.T_LSB / 2;
teplota := 0 - teplota;
end;
Str(teplota:6:2,TEP);
Edit_Term.Text := TEP;
input := DALAS.T_LSB div 2;
case DALAS.T_MSB of
0 : begin
if DALAS.PER_C<>0 then teplota := input - 0.25 +
((DALAS.PER_C-DALAS.REMAIN)/DALAS.PER_C);
end;
255: begin
if DALAS.PER_C<>0 then teplota := 0 - input - 0.25 +
((DALAS.PER_C-DALAS.REMAIN)/DALAS.PER_C);
end;
end; {case DALAS.T_MSB of}
str(teplota:6:2,TEP);
Edit_Term_VYP.Text := TEP;
Další informace o konferenci Hw-list