新闻资讯NEWS INFORMATION
智能一卡通学堂当前位置:首页 > 新闻资讯 > 智能一卡通学堂 > 详细内容
智能卡疑难解答
发布时间:2008-04-16 点击次数:1719次
RD读写器部分

1.初始化串口错 
(1) 串口资源已经被占用,(包括初始化串口后非正常退出而未关闭串口,然后再去初始化串口) 
(2) 计算机与读写器通讯的波特率与读写器默设波特率不一致;

2.RD读写器在NT环境下不支持并口操作。
在MWRD6.6之前的DEMO程序,在NT环境下运行都会出错,因为它会进行自并口向串口的自动检测,所以读写器虽然连接在串口上,还是不能正常连接,MWRD6.6就此问题进行了改进。

3.DEMO程序运行后,界面超出屏幕范围,找不到卡片操作按钮
在屏幕属性中选择设置,进入高级,在显示字体中选择小字体。

4.在DEMO程序中,读写器正确连接,但自动测卡测不出卡型,为什么?
(1) 厂商代码不在检测范围之内,我们现在检测的厂商代码有: 102:0F0F、7155、17AA 1604:313A 4442:8115 4428:8113 在MWRD6.6版本的DEMO中,在厂商代码按钮,可以增加厂商代码。
(2) 卡插反了 读写器无法确定卡是否插反了,并且可以读出全部'FF'内容;对于RD读写器,推拔式读写器芯片向下插卡,推推、自弹式芯片朝上。 
5.一台读写器是否可带多个RD读写器? 
RD读写器只支持单机操作,要想一台计算机带我台读写器,可通过扩充串口,以不同的串口带多台读写器来实现。

6.RD内置读写器在有些主板上不能正确连接,需外接串口,串口线如何连接?
连接方法如下: 2 4 6 8 10 其中2、3、5分别和D型头的2、3、5连接 ▲1 3 5 7 9 


7.用WINDOWS编程时,调用函数总会出现非法程序错误提示,如何解决? 
可能的原因有二:
(1) 字符串变量在预先分配空间,具体操作请参照例子。 在PB中,以DATA=SPACE( )的方式初始化; 在VB中以DIM DATA AS STRING*8方式定义 C中注意加结束符;
(2) 函数申明时请注意变量是用传值/传地址方式

8.在VB中,大于128的字符写入时会出错 
在我们的例程中,提供了两种写的方式,即以ASC码方式、以十六进制方式写,用ASC_ASC( )函数转换后,ASC码以字节方式写入可以解决这个问题。

9.4428卡是两位的密码,为什么给出的初始密码为4位字符? 
我们给出的密码,都是以十六进制方式表示。在程序中比较密码时,我们可以先将密码以ASC_HEX()函数转换,然后核对,具体用法可以见例程。

10.设备密码是什么?如果忘记了该怎么处理? 
设备密码是指RD读写器有密码保护功能,如果读写器设置了密码,那么必须核对读写器后才可进行其它操作。 我们没有提供万能密码,如果锁住了,请和业务员联系。 


11.对加密卡操作时,核对任何密码都显示核对正确,为什么? 
(1) 已经核对正确一次,并且没有下电。这是卡的特性,核对密码正确后,在下电之前,核对都是有效的,如果要进行下一次的核对,可以先对卡下电或拔卡一次。(设备密码也同样需要下电才能起作用) 
(2) 卡已报废,错误计数器为0。

12.用DES加密解密时,发现有部分数据解密后和原文不同。
(1)将加密后的密文以BYTE用传地址方式传递。详见例程。 
(2) 密文定义为全局变量,直接传递给解密函数解密。 
13.客户自行开发CPU卡读写设备时需要提供什么样的资料?
对于CPU来说,它不同于加密及非加密存储卡,各有各的时序图,它有统一的T=0/T=1协议及时序,在IS07816标准中规定了相关的电气指标、T=0/T=1协议及时序。

14.RD读写器对T=0的CPU卡操作时的函数格式是怎样的?
我们提供的函数对T=0/T=1的命令格式是相同的,对于T=0协议的卡,传入的命令串也必须按照T=1的格式填写,即NAD+PCB+LEN+COMMAND+BCC,其中NAD、PCB可输入00,LEN为COMMAND的长度。

15. 在UNIX环境中,在辅口设置中,需将0XON/0XOFF设为直通方式。

16.C++BUILDER编程时,先用BC中的COFF2OMF(原函数库,新函数库)将库进行转换。

17.加密卡(如4442,4428)可读、不可写? 
可能情况: 
(1) 密码没有核对正确,卡是否已经报废(错误计数器为零) 
(2) 是否已经写固化 


18.16、102、1604卡必须坚持先擦后写的原则。

19.兼容库问题 
公司原有系列读写器RDT,用的驱动程序为MWIC5.4或更早一些的版本,后来开发了RD系列读写器,用的驱动程序为MWRD6.x,这两种读写器的函数库是不相同的。为了让用旧读写器的客户能转型到新的读写器,我们又作了一些兼容库。 原有的程序不需作改动,但要改变相应的函数库,在RD驱动盘中,有MWRD54目录,存放的是兼容库,如果是WINDOWS下编程,则用兼容库中的动态库替换原动态库。如果是用的静态库,则需将源程序用兼容库重新编译。(波特率只能用9600BPS)。注:兼容库并不是交叉兼容,演示程序不能使用。 


20.低电压卡有哪些?
现有的卡中,AM4442、AT24C系列可达到2.7V;

21.用CHK_XXX函数测卡同DEMO中自动测卡的原理一致,是通过厂商代码来检测卡型的,所以有些卡会通不过,所以我们不建议使用此函数来确定。



RF读写器部分 




1.初始化串口错
(1) 串口资源已被占用,例如,程序出错,没有关闭串口,然后再次初始化串口。
(2) 波特率不对,RF读写器采用自动侦测方式,只认开机后的第一次初始化波特率,如果两次运行的波特率不同,必须关掉读写器重新打开一次。


2.下载密码出错 
一般情况下是计算机和读写器没有通讯上,初始化串口只是设置计算机方串口。 


3.编程时,寻卡总是一次对,一次错。 
采用1模式寻卡,结束后用RF_HALT();

4.RF读写器可以对ML操作吗?
对ML卡操作的读写函数和M1卡相同,M1卡的块地址对应ML卡的页地址,但另外提供了ML验证密码函数。

5.用RF_WRITE()或RF_WRITE_HEX()写M1卡正确,但写ML卡总返回不正确 
ML卡虽然只能一次写四个字节,但函数要求必须按M1卡的格式,定义为16字节的长度,不够以'FF'填充。

6.对于RF-100读写器,只需要寻卡一次,就可以对不同的扇区进行操作,但RF-25读写器,每换一个扇区就必须重新寻卡一次。 M1和44R35的区别 M1卡的特性是KEYB可见时,核对无效。
当控制字节为默认值'FF 07 80 69'时,核对KEYB是无效的,改为'7F 07 88 69'时,可用KEYB。

7.用DES加密后,解密的结果不对。 
(1)将加密后的密文以BYTE用传地址方式传递。详见例程。 
(2) 密文定义为全局变量,直接传递给解密函数解密。

8.用PB、VB等编程时,出现非法程序错误 
可能的原因有二:
(1) 字符串变量在预先分配空间,具体操作请参照例子。在PB中,以DATA=SPACE( )的方式初始化; 在VB中以DIM DATA AS STRING*8方式定义 C中注意加结束符;
(2) 函数申明时请注意变量是用传值/传地址方式 


9.RF-20时,因为用的是高级指令,所以只能用0套A密码验证,并不支持三套密码。

10. 高级指令是将低级指令的集成,它已经包括了寻卡、验证密码、及HALT过程。 


11.RF-20开发板,无值操作(因为M1卡的数值为四个字节,而ML卡只有两个字节的值,所以M1、ML的值操作(加值、减值等)函数不同,而高级指令没有提供对ML卡的操作。

12.如何修改密码?
修改密码可用RF_CHANGEB3修改块3的内容,同时也可以用RF_WRITE_HEX()函数来修改块3的内容,它的好处就是可以先写在别的数据块,看内容是否正确,然后才对块3操作,确保写入的内容正确。 


13.如果RF-25LT、RF100-LT接上电源后,数码显示全为8,而没有跳回时钟,那么表示在现有的电压下不能正常工作。

14. 用RF_DISP8时,若不想显示数据,则设0X0F;



深圳舟佛斯

总机:13168762000 传真:0755-83222836
邮箱:dinfuos@dinfuos.com 网址:深圳市龙岗区坂田街道五和大道
地址:深圳市龙岗区坂田街道五和大道

在线客服
手机
13168762000