各種庫(kù)函數(shù)說(shuō)明_第1頁(yè)
各種庫(kù)函數(shù)說(shuō)明_第2頁(yè)
各種庫(kù)函數(shù)說(shuō)明_第3頁(yè)
各種庫(kù)函數(shù)說(shuō)明_第4頁(yè)
各種庫(kù)函數(shù)說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目 錄一、各種庫(kù)函數(shù)說(shuō)明2C語(yǔ)言接口函數(shù)庫(kù)2a. 通用函數(shù)庫(kù)2b. AT24C01A/24C02/24C04/24C08/24C16/24C64函數(shù)庫(kù)9c. AT45D041函數(shù)庫(kù)11d. AT88SC102函數(shù)庫(kù)12e. AT88SC1604函數(shù)庫(kù)17f. SLE4428函數(shù)庫(kù)24g. SLE4442函數(shù)庫(kù)28i.函數(shù)錯(cuò)誤類型代碼31i.IC卡類型代碼(chk_card 返回)32j. 自動(dòng)卡型測(cè)試舉例32 TEL: 82944251 FAX:82944252 一、各種庫(kù)函數(shù)說(shuō)明C語(yǔ)言接口函數(shù)庫(kù)包括: a. 通用函數(shù)庫(kù) b. AT24C01/24C02/24C04/24C08/24C16/2

2、4C64函數(shù)庫(kù) c. AT45D041函數(shù)庫(kù) d. AT88SC102函數(shù)庫(kù) e. SLE4418/4428函數(shù)庫(kù) f. SLE4432/4442函數(shù)庫(kù) g.函數(shù)錯(cuò)誤類型代碼a. 通用函數(shù)庫(kù)(1) int ic_init(int port,long baud)說(shuō)明: 初始化通訊接口調(diào)用: port: 通訊口號(hào)0、1、2、3代表串口1、2、3、4; 并口為其I/O地址,如0x378。 Baud:通訊口為串口時(shí)代表波特率,其值為9600。 通訊口為并口時(shí)其值為0或1,分別代表半字節(jié)和全字節(jié)通 訊方式。 返回: <0 錯(cuò)誤 >0 通訊設(shè)備標(biāo)識(shí)符舉例: icdev=ic_init(0,96

3、00); 初始化通訊口為串口1, 波特率為9600 icdev=ic_init(0x378,0); 初始化通訊口為并口, 半字節(jié)通訊方式。(2) int auto_init(int port, long baud)說(shuō)明:自動(dòng)初始化通訊接口返回:同ic_init注意:auto_init函數(shù)能自動(dòng)測(cè)試波特率,并自動(dòng)設(shè)置成當(dāng)前的串形撥特率。(3) int set_baud(int icdev,long baud)說(shuō)明:設(shè)置串行方式下的波特率,設(shè)置完畢,必須重新初試化通訊口。調(diào)用:icdev : 通訊設(shè)備標(biāo)識(shí)符 baud: 波特率 9600-57600舉例:set_baud(icdev, 28800)

4、設(shè)置波特率為28800 (4) long chk_baud(int port)說(shuō)明:自動(dòng)檢測(cè)波特率調(diào)用:Port: 通訊口0,1 代表串口1,2,返回: <0 錯(cuò)誤 >=0 正確。返回串行波特率的值(5) int ic_exit(int icdev)說(shuō)明: 關(guān)閉通訊口調(diào)用: icdev:通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確舉例: st=ic_exit(icdev);(6) int get_status(int icdev,int*state)說(shuō)明: 返回設(shè)備當(dāng)前狀況調(diào)用: icdev:通訊設(shè)備標(biāo)識(shí)符 state:插卡狀態(tài)返回: <0 錯(cuò)誤 =0 正確,state

5、=1讀寫器插有卡; state=0讀寫器插無(wú)卡舉例:int status; int= get_status(icdev,&status);(7) int auto_pull (int icdev )說(shuō)明: 自動(dòng)彈卡調(diào)用: icdev:通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確,舉例: st= auto_pull (icdev);(8) int turn_on(int icdev)說(shuō)明: 對(duì)卡上電調(diào)用: icdev:通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確,舉例: st= turn_on(icdev);(9) int turn_off(int icdev)說(shuō)明: 對(duì)卡下

6、電調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確,舉例: st= turn_off(icdev);(10) int srd_ver(int icdev,int len,unsigned char*databuff)說(shuō)明: 讀取讀寫器設(shè)備版本號(hào)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 版本號(hào)字符串長(zhǎng)度,其值為10 databuff:存放讀取的版本號(hào)字符串返回: <0 錯(cuò)誤 =0 正確,舉例: unsigned char databuff10; st=srd_ver(icdev,10,databuff);(11) int dvsc(int icdev,int

7、len,unsigned char*databuff)說(shuō)明: 讀出讀寫器設(shè)備密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 密碼字符串長(zhǎng)度,其值為3 databuff:存放讀取的密碼字符串返回: <0 錯(cuò)誤 =0 正確,舉例: unsigned char databuff3; st=srd_dvsc (icdev,3,databuff);(12) int swr_dvsc (int icdev,int len,unsigned char*databuff)說(shuō)明: 改寫讀寫器設(shè)備密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 密碼字符串長(zhǎng)度,其值為3 databuff:存放寫入的密

8、碼字符串返回: <0 錯(cuò)誤 =0 正確,舉例: unsigned char databuff3='a','b','c' st=swr_ dvsc (icdev,3,databuff);(13) int cmp_dvsc (int icdev,int len,unsigned char*databuff )說(shuō)明: 比較設(shè)備密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 密碼字符串長(zhǎng)度,其值為3 databuff:存放要比較的密碼字符串返回: <0 錯(cuò)誤 =0 正確,舉例: unsigned char databuff3='a

9、','b','c' st=cmp_ dvsc (icdev,3,databuff);(14) int setsc_md (int icdev,int mode )說(shuō)明: 設(shè)置設(shè)備密碼模式 mode=0時(shí)設(shè)置設(shè)備密碼有效,在設(shè)備加電時(shí)必須先核對(duì)設(shè)備密碼才能對(duì)設(shè)備操作;mode=1時(shí)設(shè)置設(shè)備密碼無(wú)效。調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 mode: 密碼模式返回: <0 錯(cuò)誤 =0 正確,舉例: st= setsc _ md (icdev,0 ); 設(shè)置設(shè)備密碼有效 (15) int srd_snr (int icdev,int len,unsigne

10、d char*dataubff)說(shuō)明: 讀出設(shè)備標(biāo)識(shí)號(hào)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 字符串長(zhǎng)度,其值為16 databuff:存放要讀出的標(biāo)識(shí)號(hào)字符串返回: <0 錯(cuò)誤 =0 正確,舉例: unsigned char databuff6; st=srd_snr (icdev,16,databuff);(16) int chk_card (int icdev)說(shuō)明: 測(cè)卡類型,僅適用部分IC卡調(diào)用: icdev:通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確;卡類型參照IC卡類型代碼舉例: st=chk_card (icdev);(17) int ic_enerypt

11、 (char*ptrsource,unsigned int msglen,char*ptrdest)說(shuō)明: DES算法加密函數(shù)調(diào)用: key: 加密的密碼,長(zhǎng)度為8 ptrsource:原文 msglen: 原文長(zhǎng)度必須為8的倍數(shù) ptrdest: 密文返回: <0 錯(cuò)誤。其絕對(duì)值為錯(cuò)誤代碼 =0 成功舉例: char patrdest 16; st=ic_encrypt (“12345678”,”abcdefghabcdefgh”,16,ptrdest) 將長(zhǎng)度為16的“abcdefghabcdefgh”用密碼“12345678”加密(18) int ic_decrypt (char*

12、key,char*ptrdest,unsigned int msglen,char*ptrsource)說(shuō)明: DES算法解密函數(shù)使用過(guò)程與ic_encrypt相反調(diào)用: key: 加密的密碼,長(zhǎng)度為8 ptrsource:原文 msglen: 原文長(zhǎng)度必須為8的倍數(shù) ptrdest: 密文返回: <0 錯(cuò)誤。其絕對(duì)值為錯(cuò)誤代碼 =0 成功舉例: char patrdest 16; st=ic_decrypt (“12345678”,”abcdefghabcdefgh”,16,ptrdest) 將長(zhǎng)度為16的“abcdefghabcdefgh”用密碼“12345678”解密(19)uns

13、igned long DES_Encrypt (unsigned char*Key,int KeyLen, unsigned char*Source, unsigned long SrcLen, unsigned char*Result )說(shuō)明: DES算法加密函數(shù)調(diào)用: key: 加密的密鑰 KeyLen: 加密的密鑰長(zhǎng)度 Source: 原文 SrcLen: 原文長(zhǎng)度 Result: 密文返回: 成功返回密文長(zhǎng)度舉例: char patrdest 16; st=DES_Encrypt(“1234”,4,“abcdefghabcdef”,14,ptrdest)將長(zhǎng)度為14的“abcdefgh

14、abcdef”用密碼“1234”加密。注意: 與ic_encrypt ( )函數(shù)相比,它取消了對(duì)密碼和加密數(shù)據(jù)長(zhǎng)度必須為8的限制,它對(duì)于非8倍數(shù)的處理方式為在數(shù)據(jù)后自動(dòng)補(bǔ)0,湊足8的倍數(shù)。 (20)unsigned long DES_Decrypt (unsigned char*Key,int KeyLen, unsigned char*Source, unsigned long SrcLen, unsigned char*result )說(shuō)明: DES算法解密函數(shù)使用過(guò)程與DES_Encrypt相反調(diào)用: key: 解密的密鑰 KeyLen: 解密的密鑰長(zhǎng)度 Source: 密文 SrcLe

15、n: 密文長(zhǎng)度 Result: 原文返回: 成功返回解密原文的長(zhǎng)度舉例: char patrdest 14; st=DES_ Decrypt(“1234”,4,“abcdefghabcdef”,14,ptrdest)將長(zhǎng)度為14的“abcdefghabcdef”用密碼“1234”解密。注意: 與ic_decrypt ( )函數(shù)相比,它取消了對(duì)密碼和加密數(shù)據(jù)長(zhǎng)度必須為8的限制,它對(duì)于非8倍數(shù)的處理方式為在數(shù)據(jù)后自動(dòng)補(bǔ)0,湊足8的倍數(shù)。(21) int asc _hex (unsiged char*asc, unsiged char*hex,long length )說(shuō)明: 將ASCII碼轉(zhuǎn)換為十

16、六進(jìn)制數(shù)據(jù)參數(shù): asc: 輸入要轉(zhuǎn)換的字符串 hex: 存放轉(zhuǎn)換后的字符串 length: 為轉(zhuǎn)換后字符串hex的長(zhǎng)度 返回: <0 錯(cuò)誤 =0 成功舉例: unsiged char databuff 6 ; st=asc_hex (“a1a2a3a4a5”,databuff,5 );(22) int hex_asc (unsiged char*hex, unsiged char*asc,long length )說(shuō)明: 將十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為ASCII碼參數(shù): hex: 輸入要轉(zhuǎn)換的字符串 asc: 存放轉(zhuǎn)換后的字符串 length: 為要轉(zhuǎn)換字符串hex的長(zhǎng)度 返回: <0 錯(cuò)

17、誤 =0 成功舉例: unsiged char databuff 5 =0×a1,0×a2,0×a3,0×a4,0×a5; unsiged char databuff 10; st=hex_asc (databuff 1,databuff 2,5 );注意: 轉(zhuǎn)換后的字符串長(zhǎng)度為2* length(23) int asc_asc (unsiged char*source, unsiged char*dest,long length )說(shuō)明: 字符串轉(zhuǎn)換為字符串。專為VB5 ByRef傳址方式提供的賦值函數(shù)。參數(shù): source: 要轉(zhuǎn)換的ASC

18、II字符串(聲明:Byval source as string) dest: 轉(zhuǎn)換后的ASCII字符串 (聲明:ByRef dest as byte) length: 字符串的長(zhǎng)度返回: <0 錯(cuò)誤 =0 成功舉例: dim databuff (6) as byae st=asc_asc (“123abc”,databuff(0),6) 注意: C靜態(tài)庫(kù)、Unix、Linux 庫(kù)中沒有提供上述三個(gè)函數(shù)。 VB5環(huán)境下,對(duì)于ASCII值碼大于128的情況,可利用上述三個(gè)函數(shù)實(shí)現(xiàn)正常轉(zhuǎn)換。其中,asc_asc()是專為VB5 ByRef傳址方式提供的賦值函數(shù)。 DELPHI3、VFP、PB5

19、等開發(fā)環(huán)境,利用asc_hex () 和hex_asc ()兩個(gè)函數(shù)可方便地實(shí)現(xiàn)ASCII碼和十六進(jìn)制數(shù)據(jù)的轉(zhuǎn)換。b. AT24C01A/24C02/24C04/24C08/24C16/24C64函數(shù)庫(kù) 以AT24C01A為例,其它卡的函數(shù)與此類似(1) int swr_24C01a(int icdev,int offset,int len,unsigned char*databuff)說(shuō)明: 向指定地址寫數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 offset: 偏移地址,范圍0127 len: 字符串長(zhǎng)度,范圍1128 databuff:存放要寫的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例

20、: unsigned char databuff 5=s,a,n,n,y; st=swr_24c01a (icdev,0,5,databuff); 將databuff中前5個(gè)字節(jié)寫入從偏移地址0開始的5個(gè)字節(jié)中(2) int srd_24c01a (int icdev,int offset,int len,unsigned char*databuff)說(shuō)明: 從指定地址讀數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 offset: 偏移地址,范圍0127 len: 字符串長(zhǎng)度,范圍1128 databuff:存放要讀的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char da

21、tabuff 5; st=srd_24c01a (icdev,0,5,databuff); 從偏移地址0開始讀出5個(gè)字節(jié)數(shù)據(jù)存入databuff中(3) int chk_24c01a (int icdev )說(shuō)明: 檢查卡型是否正確調(diào)用: icdev:通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確舉例: st=chk_24c01a (icdev )(4) int srd_24c01a_hex (int icdev,int offset,int len,unsigned char*databuff)說(shuō)明: 從指定地址按16進(jìn)制讀數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 offset: 偏移地

22、址,范圍0127 len: 字符串長(zhǎng)度,范圍1128 databuff:存放要讀的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 5; st=srd_24c01a (icdev,0,5,databuff); 從偏移地址0開始讀出5個(gè)字節(jié)數(shù)據(jù)存入databuff中 注意:此函數(shù)只適用于24c01a、24c02卡(5) int swr_24C01a_hex (int icdev,int offset,int len,unsigned char*databuff)說(shuō)明: 向指定地址寫數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 offset: 偏移地址,范圍

23、0127 len: 字符串長(zhǎng)度,范圍1128 databuff:存放要寫的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 5=s,a,n,n,y; st=swr_24c01a (icdev,0,5,databuff); 將databuff中前5個(gè)字節(jié)寫入從偏移地址0開始的5個(gè)字節(jié)中 注意:此函數(shù)只適用于24c01a、24c02卡補(bǔ)充說(shuō)明:24系列卡偏移地址和長(zhǎng)度取值如下:卡型offsetlen24C01A0-1271-12824C160-20471-204824C640-81911-8912c. AT45D041函數(shù)庫(kù)(1) int swr_45d

24、041 (int icdev,int page,int offset,int len,unsigned char*databuff )說(shuō)明: 向指定地址寫數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 page: 頁(yè)面地址,范圍02047 offset: 偏移地址,范圍0263 len: 字符串長(zhǎng)度,范圍1540672 databuff:存放要寫的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 5=s,a,n,n,y; st=swr_45d041 (icdev,0,0,5,databuff); 將databuff中前5個(gè)字節(jié)寫入從第一頁(yè)第一個(gè)字節(jié)開始的5

25、個(gè)字節(jié) 單元中(2)int srd_45d041 (int icdev,int page,int offset,long len,unsigned char*databuff)說(shuō)明: 從指定地址讀數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 page: 頁(yè)面地址,范圍02047 offset: 偏移地址,范圍0263 len: 字符串長(zhǎng)度,范圍1540672 databuff:存放要讀的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 5;單元 st=srd_45d041(icdev,0,0,5,databuff); 從第一頁(yè)第0個(gè)字節(jié)開始讀出5個(gè)字節(jié)數(shù)

26、據(jù)存入databuff中 (3) int chk_45d041 (int icdev )說(shuō)明: 檢查卡型是否正確調(diào)用: icdev:通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確舉例: st=chk_45d041 (icdev )d. AT88SC102函數(shù)庫(kù)(1) int swr_102 (int icdev,int zone,int offset,int len,unsigned char*databuff )說(shuō)明: 向指定地址寫數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址 offset: 相對(duì)偏移地址 len: 字符串長(zhǎng)度 區(qū)號(hào)(zone)相對(duì)偏移地址(offse

27、t)長(zhǎng)度(len)00-211-2210-691-7020-851-86 databuff:存放要寫的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 5=s,a,n,n,y; st=swr_102 (icdev,1,1,5,databuff); 將databuff中前5個(gè)字節(jié)寫入從應(yīng)用1區(qū)1字節(jié)開始的5個(gè)字節(jié) 單元中(2) int srd_102 (int icdev,int zone,int offset,int len,unsigned char*databuff)說(shuō)明: 從指定地址讀數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)

28、地址 offset: 偏移地址 len: 字符串長(zhǎng)度 區(qū)號(hào)(zone)相對(duì)偏移地址(offset)長(zhǎng)度(len)00-211-17810-691-15620-851-86 databuff:存放要讀出的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 5; st=srd_102 (icdev,1,1,5,databuff); 從應(yīng)用1區(qū)1字節(jié)開始讀出5個(gè)字節(jié) 數(shù)據(jù)放入databuff中(3) int csc_102 (int icdev,int len,unsigned char*databuff )說(shuō)明: 核對(duì)卡密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)

29、識(shí)符 len: 字符串長(zhǎng)度 databuff:存放要比較的密碼字符串返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 2=0*f0,0*f0; st=csc_102 (icdev,2,databuff);(4) int wsc_102 (int icdev,int len,unsigned char*databuff )說(shuō)明: 改寫卡密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 字符串長(zhǎng)度,其值為2 databuff:存放要改寫的密碼數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 5=0*f0,0*f0

30、; st=wsc_102 (icdev,2,databuff );(5) int rsc_102 (int icdev,int len,unsigned char*databuff )說(shuō)明: 讀出卡密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 len: 密碼字符串長(zhǎng)度,其值為2 databuff:存放要讀出的密碼數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 2; st=rsc_102 (icdev,2,databuff );(6) int rsct_102 (int icdev,int *counter )說(shuō)明: 讀出密碼錯(cuò)誤計(jì)數(shù)器值調(diào)用: icde

31、v: 通訊設(shè)備標(biāo)識(shí)符 counter: 返回密碼錯(cuò)誤計(jì)數(shù)器值,范圍0-4返回: <0 錯(cuò)誤 =0 正確舉例: int counter; st=rsct_102 (icdev,&counter );(7) int cesc_102 (int icdev,int zone,int len,unsigned char*databuff )說(shuō)明: 核對(duì)卡擦除密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址,其值為1或2 len: 字符串長(zhǎng)度,應(yīng)用1區(qū),其值為6;應(yīng)用2區(qū),其值為4 databuff:存放要比較的擦除密碼字符串返回: <0 錯(cuò)誤 =0 密碼正確舉例:

32、unsigned char databuff 4=0*ff,0*ff,0*ff,0*ff ; st=cesc_102 (icdev,2,4,databuff );(8) int wesc_102 (int icdev,int zone,int len,unsigned char*databuff )說(shuō)明: 改寫卡擦除密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址,其值為1或2 len: 字符串長(zhǎng)度,應(yīng)用1區(qū),其值為6;應(yīng)用2區(qū),其值為4 databuff:存放要改寫的密碼數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 4=0*ff

33、,0*ff,0*ff,0*ff ; st=wesc_102 (icdev,2,4,databuff );(9) int resc_102 (int icdev,int zone,int len,unsigned char*databuff )說(shuō)明: 讀出卡擦除密碼調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址,其值為1或2 len: 字符串長(zhǎng)度,應(yīng)用1區(qū),其值為6;應(yīng)用2區(qū),其值為4 databuff:存放要讀出的密碼數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff 6; st=resc_102 (icdev,1,6,databuff

34、);(10) int resct_102 (int icdev,int zone,int*counter )說(shuō)明: 讀出擦除密碼錯(cuò)誤計(jì)數(shù)器值調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址,其值為2 counter:返回密碼錯(cuò)誤計(jì)數(shù)器值,范圍0-128返回: <0 錯(cuò)誤 =0 正確舉例: int counter; st=rsct_102 (icdev,2,&counter );(11) int ser_102 (int icdev,int zone,int offset,int len )說(shuō)明: 擦除數(shù)據(jù)調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址 0

35、ffset: 偏移地址 len: 要擦除的絕對(duì)長(zhǎng)度,參考swr_102中l(wèi)en說(shuō)明返回: <0 錯(cuò)誤 =0 正確舉例: st=ser_102 (icdev,0,8,2 ); 擦除偏移地址為8,9的兩個(gè)字節(jié)(12) int clrpr_102 (int icdev,int zone )說(shuō)明: 寫保護(hù)位清0調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址為1或2返回: <0 錯(cuò)誤 =0 正確舉例: st=clrpr_102 (icdev,1); 寫保護(hù)位清0后不能向應(yīng)用1區(qū)寫數(shù)據(jù) (13) int clrrd_102 (int icdev,int zone )說(shuō)明: 讀保護(hù)

36、位清0調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址為1或2返回: <0 錯(cuò)誤 =0 正確舉例: st=clrrd_102 (icdev,1); 讀保護(hù)位清0后,核對(duì)密碼前不能讀出應(yīng)用1區(qū)內(nèi)容(14) int psnl_102 (int icdev )說(shuō)明: 個(gè)人化操作調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確舉例: st=psnl_102 (icdev);(15) int chk_102 (int icdev)說(shuō)明: 檢查卡型是否正確調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符返回: <0 錯(cuò)誤 =0 正確舉例: st=chk_102 (icd

37、ev)e. AT88SC1604函數(shù)庫(kù)(1) int swr_1604(int icdev,int zone,int offset,int len, unsigned char *databuff)說(shuō)明: 向指定地址寫數(shù)據(jù) 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址 offset: 相對(duì)偏移地址 len: 字符串長(zhǎng)度 databuff: 存放要寫的數(shù)據(jù) 區(qū)號(hào)(zone)相對(duì)偏移地址(offset)長(zhǎng)度(len)0 020 1211 01194 111952 0255 12563 0255 12564 0257 1258返回: <0 錯(cuò)誤 =0 正確舉例: unsigne

38、d char databuff5= s,a,n,n,y; st=swr_1604(icdev,1,1,5,databuff); 從應(yīng)用1區(qū)1字節(jié)開始寫入5個(gè)字節(jié)數(shù)據(jù) (2) int swr_1604_hex(int icdev,int zone,int offset,int len, unsigned char *databuff)說(shuō)明: 向指定地址按16進(jìn)制寫數(shù)據(jù) 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址 offset: 相對(duì)偏移地址 len: 字符串長(zhǎng)度 databuff: 存放要寫的數(shù)據(jù) (3)int srd_1604(int icdev, int zone,int

39、offset,int len,unsigned char *databuff)說(shuō)明: 從指定地址讀數(shù)據(jù) 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址 offset: 偏移地址 len: 字符串長(zhǎng)度 databuff: 存放要讀出的數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff5; st=srd_1604(icdev,1,1,5,databuff); 從應(yīng)用1區(qū)偏移地址1開始讀出5個(gè)字節(jié)數(shù)據(jù)(4)int srd_1604_hex(int icdev, int zone,int offset,int len,unsigned char

40、*databuff)說(shuō)明: 從指定地址按16進(jìn)制讀數(shù)據(jù) 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址 offset: 偏移地址 len: 字符串長(zhǎng)度 databuff: 存放要讀出的數(shù)據(jù)(5)int csc_1604(int icdev,int zone,int len,unsigned char *databuff)說(shuō)明: 核對(duì)卡密碼 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址, 其值為04 len: 字符串長(zhǎng)度,其值為2 databuff: 存放要比較的密碼字符串返回: <0 錯(cuò)誤 =0 密碼正確舉例: unsigned char databuff2

41、=0xff,0xff; st=csc_1604(icdev,0,2,databuff);(6)int wsc_1604(int icdev,int zone,int len,unsigned char *databuff)說(shuō)明: 改寫卡密碼 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址, 其值為04 len: 字符串長(zhǎng)度,其值為2 databuff: 存放要改寫的密碼數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff5=0xff,0xff; st=wsc_1604(icdev,0,2,databuff);(7)int rsc_1604(

42、int icdev,int zone,int len,unsigned char *databuff)說(shuō)明: 讀出卡密碼 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址, 其值為04 len: 密碼字符串長(zhǎng)度,其值為2 databuff: 存放要讀出的密碼數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff2; st=rsc_1604(icdev,0,2,databuff);(8)int rsct_1604(int icdev,int zone,int *counter)說(shuō)明: 讀出密碼錯(cuò)誤計(jì)數(shù)器值 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 z

43、one: 應(yīng)用區(qū)地址, 其值為01 counter: 返回密碼錯(cuò)誤計(jì)數(shù)器值,范圍04返回: <0 錯(cuò)誤 =0 正確舉例: int counter; st=rsct_1604(icdev,0,&counter);(9)int cesc_1604(int icdev,int zone,int len,unsigned char *databuff)說(shuō)明: 核對(duì)卡擦除密碼 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址, 其值為14 len: 字符串長(zhǎng)度,其值為2 databuff: 存放要比較的擦除密碼字符串返回: <0 錯(cuò)誤 =0 正確舉例: unsigned

44、char databuff2=0xff,0xff; st=cesc_1604(icdev,1,2,databuff);(10)int wesc_1604(int icdev,int zone,int len,unsigned char *databuff)說(shuō)明: 改寫卡擦除密碼 調(diào)用: icdev: 通訊設(shè)備標(biāo)識(shí)符 zone: 應(yīng)用區(qū)地址, 其值為14 len: 字符串長(zhǎng)度,其值為2 databuff: 存放要改寫的密碼數(shù)據(jù)返回: <0 錯(cuò)誤 =0 正確舉例: unsigned char databuff2=0xff,0xff; st=wesc_1604(icdev,2,2,databuff);(11)int resc_1604(int icdev,int zone,int len,unsigned char *databuff)說(shuō)明: 讀出卡擦除密碼 調(diào)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論