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