Function ReedCard() MSComm1.CommPort = 1 ' MSComm1.Settings = "19200,N,8,1" ' MSComm1.InputLen = 0 On Error Resume Next MSComm1.PortOpen = True MSComm1.Output = Chr(&HAA) & Chr(&HBB) & Chr(&H6) & Chr(&H0) & Chr(&H0) & Chr(&H0) & Chr(&H1) & Chr(&H2) & Chr(&H52) & Chr(&H51) ' . "" . hex sleep (0.1) ' , ( ) Answer = MSComm1.Input MSComm1.Output = Chr(&HAA) & Chr(&HBB) & Chr(&H5) & Chr(&H0) & Chr(&H0) & Chr(&H0) & Chr(&H2) & Chr(&H2) & Chr(&H0) ' . , — . , ASCII- sleep (0.1) Answer = MSComm1.Input Dim ReadPort As String If Len(Answer) > 10 Then ' , 14- . , , 5 . , >10, Dim a: a = s2a(Answer) 'StringToArray-. 14 [14] Dim i For i = 0 To UBound(a) a(i) = Right(0 & Hex(Asc(a(i))), 2) ' "" - ASCII-. , ascii- hex Next ReadPort = Join(a) MSComm1.Output = Chr(170) & Chr(187) & Chr(6) & Chr(0) & Chr(0) & Chr(0) & Chr(6) & Chr(1) & Chr(7) & Chr(0) ' , "" :) .. ( , , ) '''' , . : AA BB CC DD -> 2864434397. , — . End If MSComm1.PortOpen = False End Sub Function s2a(s) ReDim a(Len(s) - 1) Dim i For i = 0 To UBound(a) a(i) = Mid(s, i + 1, 1) Next s2a = a End Function Sub sleep(sk) PauseTime = sk Start = Timer Do While Timer < Start + PauseTime Loop End Sub
serialPort1.Open(); serialPort1.Write(((char)0xAA) + "" + ((char)0xBB) + "" + ((char)0x6) + "" + ((char)0x0) + "" + ((char)0x0) + "" + ((char)0x0) + "" + ((char)0x6) + "" + ((char)0x1) + "" + ((char)0x7) + "" + ((char)0x0)); serialPort1.Close();
serialPort1.Open(); byte[] ar = new byte[10]; ar[0] = 170; ar[1] = 187; ar[2] = 6; ar[3] = 0; ar[4] = 0; ar[5] = 0; ar[6] = 6; ar[7] = 1; ar[8] = 7; ar[9] = 0; serialPort1.Write(ar, 0, ar.Length); serialPort1.Close();
var ar: array of Byte[10]; begin OpenCom (ComNo, B_19200, Bits_8+Stops_1+Parity_No, 2048); ar[0]:=170; ar[1]:=187; ar[2]:=6; ar[3]:=0; ar[4]:=0; ar[5]:=0; ar[6]:=6; ar[7]:=1; ar[8]:=7; ar[9]:=0; for i:=0 to 10 do begin WriteCom(ComNo,ar[i]); end;
Source: https://habr.com/ru/post/322422/
All Articles