1、版本說明
本RD讀寫器軟件的版本號為version6.5
該驅(qū)動軟件適用RD系列接觸式IC卡讀寫器,SRD系列(45D041)專用讀寫器。
2、RD讀寫器的軟件組成
a. Driver 驅(qū)動軟件
b. Demo 演示軟件
c. Examples 函數(shù)調(diào)用例范
3、安裝盤安裝后的主要目錄和文件
README.TXT 版本說明
MWRD6.5\DRVER\: RD系列讀寫器驅(qū)動程序
\C.LIB\*.* C.DOS靜態(tài)函數(shù)庫
\FOXPRO.DOS\*.* FOXPRO FOR DOS 接口函數(shù)庫
\WINDOWS\*.* WINDOWS32位和16位動態(tài)庫
\UNIX\*.* UNIX動態(tài)庫
\FOXBASE\*.* FOXBASE函數(shù)庫
\DEMO.WIN\DEMO.EXE WINDOWS下操作演示軟件
\EXAMPLES\*.* 各種平臺的應用范例
MWRD5.4\: RD讀寫器兼容庫
\C.LIB C.DOS靜態(tài)函數(shù)庫
\FOXPRO.DOS FOXPRO FOR DOS接口函數(shù)庫
\WINDOWS.DLL WINDOWS32位和16位動態(tài)庫
\Ref5X.TXT 使用說明
SRDUSER.DOC SRD-E*P-45D041讀寫器用戶使用手冊
4、RD讀寫器軟件Ver6.5與Ver6.0相比修改和增加說明
a. 函數(shù)庫修改和增加說明
(1) 102卡的擦除函數(shù)ser_102(icdev,zone,offset,le),要求其偏移地址offset和
擦除長度le必須為偶數(shù)。
(2) 增加auto_init ()自適應式初始化函數(shù)。只要通訊口選擇正確,該函數(shù)將按照
輸入的波特率(或并口模式)與讀寫器建立連接。如果輸入的波特率與讀寫器
內(nèi)部保存的設置值不同,則第一次初始化將需要數(shù)十秒的等待時間,且讀寫器
伴有彈卡動作。
(3) 增加對設備讀寫的兩個函數(shù):swr_eeprom();srd_eeprom() 。利用該函數(shù)可
以將系統(tǒng)編號等信息直接存放在讀寫器中,便于系統(tǒng)的設備管理。
(4) 增加三個工具函數(shù)(C、Unix庫除外),用于ASCII碼和十六進制數(shù)據(jù)之間的轉(zhuǎn)換。
asc_hex ();
hex_asc ();
asc_asc ();
(5) 增加了CPU卡專用讀寫器的驅(qū)動函數(shù):
int cpu_reset();
int cpu_protocol();
在 FOXPRO FOR DOS 庫中 cpu_protocol() 更名為 CPU_PTL();
注意:CPU卡讀寫器不支持115200和38400波特率。
(6) 另更正了Version6.0 版庫函數(shù)中的錯誤。
(6) 測卡函數(shù)增加了測廠商代碼為1A77的102卡。
b. 兼容庫
為了保持與舊讀寫器的兼容性,version6.5驅(qū)動程序中增加了對version5.x舊
讀寫器的兼容庫。用戶只要用此兼容庫替代舊的函數(shù)庫,不必更改原程序代碼,即可
使用RD系列的新型讀寫器。
c. DEMO演示程序
增加了對CPU卡的操作演示功能
5、新增加的庫函數(shù)使用說明 (以32位庫為例)
(1) HANDLE auto_init(_int16 port,unsigned long baud);
[說明]:初始化通訊口;
其入口參數(shù)和出口參數(shù)與ic_init( )相同。
(2)_int16 swr_eeprom(HANDLE icdev,_int16 offset,_int16 length,
unsigned char *databuff);
(3)_int16 srd_eeprom(HANDLE icdev,_int16 offset,_int16 length,
unsigned char *databuff);
[說明] 向讀寫器中寫入或讀取數(shù)據(jù)信息
參數(shù): icdev: 設備標識符
offset: 偏移地址 0--383
length: 數(shù)據(jù)長度 1--384
databuff:存放讀、寫的數(shù)據(jù)
返回: = 0 正確
〈 0 錯誤
注:請參考Examples\VB5\Mc32_gl目錄下的使用范例。
(4) _int16 asc_hex(unsiged char *asc, unsigned char *hex ,
unsigned long length);
[說明] 將ASCII碼轉(zhuǎn)換為十六進制數(shù)據(jù)
參數(shù): asc: 輸入要轉(zhuǎn)換的字符串
hex: 存放轉(zhuǎn)換后的字符串
length: 為轉(zhuǎn)換后的字符串長度
返回: = 0 正確
〈 0 錯誤
(5) _int16 hex_asc(unsigned char *hex, unsigned char *asc,
unsigned long length);
[說明] 將十六進制數(shù)據(jù)轉(zhuǎn)換為ASCII碼
參數(shù): hex: 輸入要轉(zhuǎn)換的字符串
asc: 存放轉(zhuǎn)換后的字符串
length: 為要轉(zhuǎn)換的字符串長度
返回: = 0 正確
〈 0 錯誤
注:轉(zhuǎn)換后的字符串長度為2*length
(6) _int16 asc_asc(unsigned char *source, unsigned char *dest,
unsigned long length);
[說明] 字符串轉(zhuǎn)換成字符串。專為VB5 ByRef傳址方式提供的賦值函數(shù)
參數(shù): source: 要轉(zhuǎn)換的ASCII碼字符串(聲明:Byval source as string)
dest : 轉(zhuǎn)換后的ASCII碼字符串(聲明:ByRef dest as byte)
length: 字符串的長度
返回: = 0 正確
〈 0 錯誤
注意:VB5環(huán)境下,對于ASCII值碼大于128的情況,不能正常轉(zhuǎn)換。上述三個函數(shù)中
相應的參數(shù)須聲明為ByRef傳址方式。asc_asc()是專為VB5 ByRef傳址方式提
供的賦值函數(shù)。該特殊情況下的應用請參考Examples\VB5\Mc32_gl目錄下范例。
對于其它開發(fā)環(huán)境如DELPHI3、PB5等,可以直接利用上述工具函數(shù),將ASCII
轉(zhuǎn)換為十六進制數(shù)據(jù),然后再寫入卡中。
(7)__int16 __stdcall cpu_reset(HANDLE icdev,unsigned char *data_buffer);
[說明] 對CPU卡復位操作
參數(shù): icdev: 初始化返回的設備標識符
data_buffer: 復位響應返回的字符串
返回: = 0 正確
〈 0 錯誤(見錯誤代碼)
(8)__int16 __stdcall cpu_protocol(HANDLE icdev,int len,
unsigned char *send_cmd, unsigned char *receive_data);
[說明] 按照CPU卡T=1的傳輸協(xié)議向讀寫器發(fā)送命令串
參數(shù): icdev: 初始化返回的設備標識符
send_cmd: 發(fā)給卡操作的命令串(T=1格式)
len: 命令串的長度
receive_data: CPU卡返回的數(shù)據(jù)串
返回: = 0 正確
〈 0 錯誤(見錯誤代碼)
舉例:請參考Examples目錄下的unix、VB5、VFP、VB3、C.DOS 和Foxpro.dos等例范。
6、新增CPU卡讀寫器的錯誤代碼(負數(shù)):
錯誤代碼 錯誤類型
0xcf 通訊超時
0xce 校驗位錯誤
0xcd 操作碼錯誤
0xcb 長度錯誤
0xca 校驗和錯誤
7、有關 chk_card() 函數(shù)的說明:
對于有廠商代碼的卡片,測卡的過程是調(diào)用讀卡函數(shù),讀出廠商代碼,并與已
知的廠商代碼作比較來確定卡型。所以當使用新的廠商代碼后,測卡將失敗。故此
建議用戶自行編寫此類卡片的測卡函數(shù)。舉個例子:
AT88SC1604卡片原來的廠商代碼是 313a ,現(xiàn)為 303a 。則新的測卡函數(shù)如下:
short new_chk_card(icdev)
{
shor st;
unsigned char str[30];
st=srd_1604(icdev,0,0,2,str);
if(st==0)
{
if(str[0]==0x30 && str[1]==0x31)
return CARD_1604;
}
return chk_card(icdev);
}
如果用戶的系統(tǒng)只使用AT88SC1604卡,則return chk_card(icdev)可改為
return CARD_UNKNOWN(未知卡型); 效率更高。
有廠商代碼的卡片包括:AT88SC102,AT88SC1604,AT88SC1604B,SLE4404,
SLE4406,SLE4418,SLE4428,SLE4432,SLE4442.
- PC官方版
- 安卓官方手機版
- IOS官方手機版