Snr = 0
Rsnr = 0
loadmode = 0
sector = 2
address = 9
wvalue = 1000
If icdev <= 0 Then
icdev = rf_init(0,115200) //初始化串口
End If
If icdev < 0 Then
m1_label.text = "Call rf_init() error.Exit!"
messagebox('',string(icdev))
return
End If
keya="ffffffffffff"
For sector = 0 To 15
st = rf_load_key(icdev, loadmode, sector,ref keya)//加载密码
If st <> 0 Then
M1_label.text = "Call rf_load_key() error.Exit!"+string(st)
return
End If
Next
st=1
address=1
data32=space(32)
data32="00000000000000010000000000000001"
st = rf_write_hex( icdev, address, ref data32)//address=1,向卡中第1块写入数据,对于M1卡,一次必须写一个块,为16个字节;
首先我是初始化串口和加载密码,其次我向卡中写数据失败,返回错误代码10,其意思为验证密码错误.可是我程序中并未验证密码.导致数据写不进去!请位各位高手,如何解决?(卡中验证密码的函数读不出来了!)
------解决方案--------------------
你把密钥下载到读卡器后,你还要验证密钥,如果验证不过去,那就会出错,你用的是哪家公司生产的卡?
------解决方案--------------------
keya="~hff~hff~hff~hff~hff~hff"
------解决方案--------------------
integer k
char tk[6]
icdev = rf_init(0,115200)
if icdev < 0 then
messagebox('',"读写器出错! " + string(icdev))
return
else
tk[1] = char(1)
tk[2] = char(51)
tk[3] = char(66)
tk[4] = char(153)
tk[5] = char(69)
tk[6] = char(17)
k = rf_load_key(icdev,0,1,tk)
if k <> 0 then
messagebox("M1","1装入密码出错!" + string(k))
return
end if
tk[1] = char(7)
tk[2] = char(85)
tk[3] = char(40)
tk[4] = char(37)
tk[5] = char(32)
tk[6] = char(9)
k = rf_load_key(icdev,0,2,tk)
if k <> 0 then
messagebox("M1","2装入密码出错!" + string(k))
return
end if
rf_beep(icdev,10)
end if