Пластиковые карты с открытой памятью. Востриков А.А - 97 стр.

UptoLike

97
{ Запросить устройства в сети, не имеющие сетевого адреса. При
успехе возвращает тип и серийный номер одного из таких
устройств, а также другие параметры устройств по ASK BUS.
Параметры заносятся в глобальную переменную Note}
Begin
COMFrameLen:=64; No_Address_Request:=False;
If Not Send_Frame(aftIDRequest, Frame_NA, Frame_Cmd,
Frame_Status, Frame_Data) Then Exit;
If Receive_Frame Then
Begin
If In_Buf.Status<>astSuccessNote Then Exit;
If In_Buf.FT<>aftNoteAnswer Then Exit;
With In_Buf Do
Begin
Note_Type:=Data[1];
Move(Data[2], Note_SN, SizeOf(Note_SN));
Move(Data[1], Note.SN, SizeOf(Note.SN));
Move(Data[6], Note.Ver, SizeOf(Note.Ver));
Move(Data[7], Note.Buf_Size, SizeOf(Note.Buf_Size));
Move(Data[8], Note.Delay, SizeOf(Note.Delay));
End; { of With }
No_Address_Request:=true;
End; { of If }
End; { of No_Address_Request }
Function Set_Note_Address(Note_Type: Byte; Note_SN: LongInt;
Note_Address: tNA): Boolean;
{ Присвоить узлу сети с серийным номером Note_SN и типом
Note_Type дрес Note_Address}
Begin
COMFrameLen:=64; Set_Note_Address:=False;
Frame_NA[1]:=Note_Type;
Move(Note_SN, Frame_NA[2], SizeOf(Note_SN));
Move(Note_Address, Frame_Data[1], SizeOf(Note_Address));
If Not Send_Frame(aftSetAddress, Frame_NA, Frame_Cmd,
Frame_Status, Frame_Data) Then Exit;
If Receive_Frame Then
Begin
If In_Buf.Status<>astSuccessNote Then Exit;
Set_Note_Address:=True; Note.Address:=Note_Address;
Продолжение прил.