以下为VB代码:'读取资料
'参数:
'bank --为EPC3为USER
'offset偏移量,EPC为4,0~3为PC码和CRC校验
'count资料byte个数,EPC个数为12
'timeout读取超时(毫秒)
'data读取数据指针
'返回值:0 成功
Public Declare Function ReadTag Lib "Test.dll"(ByVal bank As Long,Byval offset As Long,ByVal count As Long,ByVal timeout As Long,ByVal data As Long) As Integer
e.g:
Dim ret As Long
Dim epc(12) As Byte
Dim pTemp1 As Long
pTemp1 = VarPtr(epc(0))
'1 ->EPC
'4 ->EPC 存储开始位置
'12 ->EPC长度
'5000->5秒超时
ret = ReadTag(1,4,12,5000,ByVal Ptemp1)
if ret = 0 then
editEPC.Text=ByteToHex(epc,EPC_LENGTH)
End if'写入资料
'参数:bank --1 为EPC3为USER
'offset偏移量,EPC为4,0~3为PC码和CRC校验
'count 资料byte个数,EPC个数为12
'timeout写入超时(毫秒)
'data写入数据指针
'返回值:0成功
Public Declare Function WriteTag Lib "Test.dll" (ByVal bank As Long,ByVal offset As Long,ByVal count As Long,ByVal timeout As Long,ByVal data As Long) As Integer
e.g:
Dim ret As Long
Dim epc() as Byte
Dim pTemp1 As Long
epc=TxtBinToBytes(editEPC.text)
pTemp1=VarPtr(epc(0))
ret=WriteTag(1,4,12,3000,ByVal pTemp1)
if ret<>0 then
error...
end if
'参数:
'bank --为EPC3为USER
'offset偏移量,EPC为4,0~3为PC码和CRC校验
'count资料byte个数,EPC个数为12
'timeout读取超时(毫秒)
'data读取数据指针
'返回值:0 成功
Public Declare Function ReadTag Lib "Test.dll"(ByVal bank As Long,Byval offset As Long,ByVal count As Long,ByVal timeout As Long,ByVal data As Long) As Integer
e.g:
Dim ret As Long
Dim epc(12) As Byte
Dim pTemp1 As Long
pTemp1 = VarPtr(epc(0))
'1 ->EPC
'4 ->EPC 存储开始位置
'12 ->EPC长度
'5000->5秒超时
ret = ReadTag(1,4,12,5000,ByVal Ptemp1)
if ret = 0 then
editEPC.Text=ByteToHex(epc,EPC_LENGTH)
End if'写入资料
'参数:bank --1 为EPC3为USER
'offset偏移量,EPC为4,0~3为PC码和CRC校验
'count 资料byte个数,EPC个数为12
'timeout写入超时(毫秒)
'data写入数据指针
'返回值:0成功
Public Declare Function WriteTag Lib "Test.dll" (ByVal bank As Long,ByVal offset As Long,ByVal count As Long,ByVal timeout As Long,ByVal data As Long) As Integer
e.g:
Dim ret As Long
Dim epc() as Byte
Dim pTemp1 As Long
epc=TxtBinToBytes(editEPC.text)
pTemp1=VarPtr(epc(0))
ret=WriteTag(1,4,12,3000,ByVal pTemp1)
if ret<>0 then
error...
end if
//参数:
//bank --为EPC3为USER
//offset偏移量,EPC为4,0~3为PC码和CRC校验
//count资料byte个数,EPC个数为12
//timeout读取超时(毫秒)
//data读取数据指针
//返回值:0 成功
Function ReadTag(const bank :LongWord;const offset:Integer;const count :LongWord;const timeout:Integer;const Data :PAnsiChar):SmallInt;stdcall;external 'Test.dll';e.g:
var
ret:Integer;
epc:array[0..12] of Byte;
pTemp1:PAnsiChar;
strTemp: AnsiString;
begin
pTemp1 := @epc[0];
//1 ->EPC
//4 ->EPC 存储开始位置
//12 ->EPC长度
//5000->5秒超时
ret := ReadTag(1,4,12,5000,Ptemp1);
if ret = 0 then begin
SetLength(strTemp,EPC_LENGTH*2);
BinToHex(PAnsiChar(@epc[0]),PAnsiChar(strTemp),EPC_LENGTH);
editEPC.Text:=strTemp;
end;
end;
//写入资料
//参数:bank --1 为EPC3为USER
//offset偏移量,EPC为4,0~3为PC码和CRC校验
//count 资料byte个数,EPC个数为12
//timeout写入超时(毫秒)
//data写入数据指针
//返回值:0成功
Function WriteTag(const bank :LongWord;const offset :Integer;const count :LongWord;const timeout:Integer;const data :PAnsiChar):SmallInt;stdcall; external 'Test.dll'
e.g:
var
ret:Integer;
epc:Array of Byte ;
pTemp1:PAnsiChar;
begin
epc:=TxtBinToBytes(editEPC.text) ;
pTemp1:=PAnsiChar(@epc[0]);
ret:=WriteTag(1,4,12,3000,pTemp1) ;
if ret <>0 then
error...
end;