请开发过IC卡读写技术的同行们帮帮忙,现在我能够正确的读取IC卡内容,但却始终无法向IC卡内写入数据!
请开发过IC卡读写技术的同行们帮帮忙,现在我能够正确的读取IC卡内容,但却始终无法向IC卡内写入数据!
每次运行到向IC卡写数据的函数的时候,都返回一个错误代码(-129),正确的应该是(0)。我尝试了好长时间,一次也没有成功!但是往外读却没有毛病。
读卡器的故障基本可以排除。因此客户的一套Visual Foxpro应用程序一直在使用这个读卡器,读写都正常,可是当我用PB开发IC卡读写模块的时候就遇到了上述问题,只能读,不能写。请各位帮忙分析分析。谢谢。
附:写入数据的程序。
string ls_err,ls_data,ls_password
int ai_com=1,li_status1
long ll_baud,ll_icdev,st
if isnull(ai_com) or ai_com<=0 then ai_com=1
//¿ªÊ¼¡ª¡ª³õʼ»¯IC¿¨¶ÁдÆ÷¡£2002-06-30
ll_baud = chk_baud(ai_com)
if ll_baud<0 then
ls_err="ÎÞ·¨¼ì²â¶Á¿¨Æ÷µÄ²¨ÌØÂÊ£¡" ; return ls_err
end if
ll_icdev= ic_init(ai_com,ll_baud) //³õʼ»¯¶Á¿¨Æ÷£¬½¨Á¢Óë¶Á¿¨Æ÷µÄÁ¬½Ó¡£
st=get_status(ll_icdev,li_status1) //¼ì²â¶Á¿¨Æ÷µÄ״̬
If st<>0 Then
ls_err="ÎÞ·¨³õʼ»¯¶Á¿¨Æ÷£¬µ±Ç°¶Á¿¨Æ÷²»¿ÉÓã¡" ; goto err
End If
if li_status1=0 then
ls_err='Çë²å¿¨£¡' ; goto err
end if
//½áÊø¡ª¡ª³õʼ»¯IC¿¨¶ÁдÆ÷¡£2002-06-30
//¿ªÊ¼¡ª¡ªÐ´Èë¶Á¿¨Æ÷¡£2002-07-01
//****** ?? hex ffffff *****
//password=chr(255)+chr(255)+chr(255)
//st=callfn(csc_4442,icdev,3,@password)
//if st<>0
// ? chr(7)+chr(7)
// wait wind " "+CHR(13)+" ???? "+CHR(13) time 2
// st=callfn(ic_exit,icdev)
// retu
//endi
ls_password=char(255)+char(255)+char(255)
st = csc_4442(ll_icdev, 3, ref ls_password)
If st <> 0 Then
ls_err="¶Á¿¨Æ÷ÃÜÂëÑéÖ¤´íÎó£¡" +string(st); goto err
End If
ls_data=as_data
int ll_offset = 48,ll_length = 6
st = swr_4442(ll_icdev, ll_Offset, ll_length, ref ls_data)
If st < 0 Then
ls_err="ÎÄ×ÖÐÅÏ¢ÎÞ·¨Ð´Èë¶Á¿¨Æ÷¡£" +string(st); goto err
End If
//½áÊø¡ª¡ªÐ´Èë¶Á¿¨Æ÷¡£2002-07-01
//¿ªÊ¼¡ª¡ª¶Ï¿ªÓëIC¿¨¶ÁдÆ÷µÄÁ¬½Ó¡£2002-06-30
st=ic_exit(ll_icdev) //¶Ï¿ªÓëIC¿¨¶ÁдÆ÷µÄÁ¬½Ó¡£
//½áÊø¡ª¡ª¶Ï¿ªÓëIC¿¨¶ÁдÆ÷µÄÁ¬½Ó¡£2002-06-30
return 'OK'
err:
st=ic_exit(ll_icdev) //¶Ï¿ªÓëIC¿¨¶ÁдÆ÷µÄÁ¬½Ó¡£
return ls_err