1. 请问IC卡写内容上去,需要用什么器材同软件
IC卡WINDOWS驱动程序手册一 、IC卡驱动程序是一32位 Windows应用程序调用的动态链接库,文件名为IC32.DLL。
二、IC32.DLL提供的函数: 注意:以下函数名的大小写必须严格区分,否则无法调用<1>、通用函数: 1.IC_Status() 返回读写器状态 2.IC_ErrMsg() 将错误码转换为错误信息 3.IC_InitComm() 打开串口 4.IC_ExitComm() 关闭串口 5.IC_InitType () 设置要读卡的类型 6.IC_Read () 读IC卡的内容 7.IC_Write () 写内容到IC卡 8.IC_Erase () 对IC卡擦除操作(写FF) 9.IC_Read_Float() 读IC卡存储的浮点数 10.IC_Write_Float() 写浮点数到IC卡<2>、西门子4432/4442卡专用函数: 1.IC_ReadProtection () 读S4432/S4442卡的保护位 2.IC_WriteProtection () 写S4432/S4442卡的保护位 3.IC_ReadCount_SLE4442 () 读S4442卡的错误计数器 4.IC_CheckPass_SLE4442 () 效验S4442卡的密码 5.IC_ChangePass_SLE4442 () 改变S4442卡的密码<3>、西门子4418/4428卡专用函数: 1.IC_ReadWithProtection () 带保护位读S4418/S4428卡 2.IC_WriteWithProtection () 带保护位写S4418/S4428卡 3.IC_ReadCount_SLE4428 () 读S4428卡的错误计数器 4.IC_CheckPass_SLE4428 () 效验S4428卡的密码 5.IC_ChangePass_SLE4428 () 改变S4428卡的密码<4>、ATMEL AT88SC101/102/103卡专用函数: 1. IC_CheckPass_102() 效验ATMEL101/102/103卡的系统密码 2. IC_ChangePass_102() 改变ATMEL101/102/103卡的密码 3. IC_ReadCount_102 () 读ATMEL101/102/103卡的错误计数器 4. IC_Erase_102() 对ATMEL101/102/103卡的擦除操作 5. IC_CheckAZPass_102() 效验ATMEL102卡的应用区密码 6. IC_ChangeAZPass_102() 改变ATMEL102卡的应用区密码 7. IC_Fuse_102 () 烧断ATMEL102卡的熔丝<5>、西门子4406卡(电话卡)专用函数: 1. IC_RValue () 读S4406卡的值 2. IC_DEValue () 减S4406卡的值<6>、ATMEL AT88SC1604卡专用函数: 1. IC_CheckPass_1604() 效验AT88SC1604卡的系统密码 2. IC_ChangePass_1604() 改变AT88SC1604卡的密码 3. IC_ReadCount_1604 () 读AT88SC1604卡的错误计数器 4. IC_Fuse_1604 () 烧断AT88SC1604卡的熔丝<7>、ATMEL AT24C系列卡(非加密卡)专用函数: 1. IC_Write24() 写AT24C卡(用法见IC_Write()函数)三 函数说明 <1>、通用函数: 1. __int16 IC_Status(HANDLE ICDev) 说明:返回当前状态* 调用:HANDLE ICDev ---- InitComm返回的设备描述符 返回:<0 错误,见错误码 =0 正确* 举例:IC_Status(ICDev) 2. __int16 IC_ErrMsg (__int16 ErrNo, unsigned char* ErrMsg) 说明:获取错误信息内容 调用:__int16 ErrNo ---- IC卡操作函数返回的错误号 unsigned char * ErrMsg ---- 错误信息内容 返回:<0 错误。其绝对值为错误号 >=0 ErrMsg的有效长度 举例:IC_ErrMsg(0xee,errmsg) 将0XEE表示的错误信息存入errmsg指定的数据缓冲区。
3. __int16 InitComm(__int16 Port) 说明:打开通讯设备 调用:__int16 Port ---- 通讯口号,整数0,1,2,3 返回:<0 错误 >=0 通讯设备标识符 举例:ICDev=InitComm(0) 打开串口一。 4. __int16 ExitComm(HANDLE ICDev) 说明:关闭通讯设备 调用:HANDLE ICDev ---- InitComm返回的设备描述符 返回:<0 错误 >=0 通讯设备正常关闭 举例:ExitComm(ICDev) 关闭ICDev指定的串口。
5. __int16 IC_InitType (HANDLE ICDev,__int16 TypeNo) 说明:设置卡类型 调用:HANDLE ICDev ---- InitComm返回的设备描述符 __int16 TypeNo ---- 卡类型号 返回:<0 错误。其绝对值为错误号 >=0 操作正确 举例:IC_InitType(HANDLE ICDev,0x20) 设置卡类型为ATMEL102型 6. __int16 IC_Read (HANDLE ICDev,__int16 Offset,__int16 len, unsigned char * DataBuffer) 说明:读取IC卡数据 调用:HANDLE ICDev ---- InitComm返回的设备描述符 __int16 Offset ---- 读数据IC卡起始地址 __int16 Len ---- 数据长度 unsigned char * Databuffer ---- 存放数据的缓冲区 返回:<0 错误。
其绝对值为错误号 >=0 有效数据长度。表示DataBuffer数据的有效字节数。
举例:IC_Read(ICDev,16,64,DataBuffer) 读取16至79的数据到DataBuffer,正确返回64。 7 __int16 IC_Write (HANDLE ICDev, __int16 Offset,__int16 length, unsigned char* DataBuffer) 说明:写数据到IC卡 调用:HANDLE ICDev ---- InitComm返回的设备描述符 __int16 Offset ---- 写IC卡起始地址 __int16 length ---- 数据的长度 unsigned char * Databuffer ---- 即将写入IC卡的数据 并存放返回数据 返回:<0 错误。
其绝对值为错误号 >=0 写入数据长度 举例:IC_Write(ICDev,32,14,"IcCard Message") 将IcCard Message写入从32地址开始的数据区。 8. __int16 IC_Erase(HANDLE ICDev,__int16 Offset,__int16 len) 说明:擦除数据,即写十六进制的FF、十进制的255。
调用:HANDLE ICDev ---- InitComm返回的设备描述符 __int16 Offset ---- 擦除的起始地址 __int16 len -。
2. ic卡是什么东西
一、IC卡定义 IC卡是集成电路卡(Integrated Circuit Card)的简称,是镶嵌集成电路芯片的塑料卡片,其外形和尺寸都遵循国际标准(ISO)。
芯片一般采用不易挥发性的存储器(ROM、EEPROM)、保护逻辑电路、甚至带微处理器CPU。带有CPU的IC卡才是真正的智能卡。
二、IC卡的分类 非加密存储器卡:卡内的集成电路芯片主要是EEPROM,具有数据存储功能,不具有数据处理功能和硬件加密功能。 逻辑加密存储器卡:在非加密存储器卡的基础上增加了加密逻辑电路,加密逻辑电路通过校验密码方式来保护卡内的数据对于外部访问是否开放,但只是低层次的安全保护,无法防范恶意性的攻击。
CPU卡:也称智能卡,卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM)以及芯片操作系统COS。装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。
3. 怎么把两张ic的内容写进一张卡,不同的扇区
这要看你的ic卡要保存多少信息,如果只是金额的话,一个扇区就够了,如果再要持卡人名字,就得多加一到两个。如果在需要保存历史记录的话,就要按需要扩展。
通常金额,作为数据信息在卡内是存储三份甚至更多,每次写卡都写其中一份记录,再把记录指向新的记录,如果写卡过程中出现错误,记录指向没有改变,数据没有修改。另外每次读卡时,也会在多份记录中比较,鉴别之前是否有过错误的数据写入。
读写时间的话,单次单扇区读写的时间是固定的,只有靠终端固件来优化读写操作的流程,降低每次操作的时间需求