ri-655cf读卡器驱动需要驱动的吗

您的位置: →
→ 读卡器驱动 相关合集
万能读卡器驱动下载_读卡器驱动下载|读卡器驱动大全
目前在市面上比较常见的存储卡有SD Memory(SD卡)CompactFlash(CF卡)、MemoryStick(索尼记忆棒)、 MultiMediaCard(MMC卡)、XD-Picture(XD卡)、SmartMedia(SM卡, 已停产)、IBM Microdrive(IBM微型硬盘), Micro SD Card(TF卡)等。为此绿色资源网小编在本文收集整理了部分适用的读卡器驱动程序下载以及万能读卡器驱动下载。读卡器是一种读卡设备,种类较多包含范围广,片类型的不同,可以将其分为IC卡读卡器,包括接触式IC卡,遵循ISO7816接口标准;非接触式IC卡读卡器,遵循ISO14443接口标准,远距离读卡器,遵循ETC国标GB20851接口标准。存储卡的接口也不太统一,主要类型有CF卡、SD卡、MiniSD卡、SM卡、Memory Stick卡等。存储卡大量应用于智能手机、照相机,广义来讲,智能手机和照相机也成为读卡器。按所存储卡的种类分分为CF卡读卡器、SM卡读卡器、PCMICA卡读卡器以及记忆棒读写器等,还有双槽读卡器可以同时使用两种或两种以上的卡;按端口类型分可分为串行口读卡器、并行口读卡器、USB读卡器。
华视cvr-100u驱动是绿色资源网小编从官方网站下载的cvr-100u最新驱动程序,能够解决华视cvr-100u二代身份证阅读器无法正常识别或无法正常安
一、基本功能和技术指标1、读取中华人民共和国居民二代身份证专用芯片内信息;2、提供USB接口,与主机连接;3、外型美观大方,内置安全控制
GENERIC USB Card Reader Driver v 2. 3 驱动程式 。强烈建议您关闭所有正在执行的应用程式後再继续执行本安装程式 。
天喻TY522读卡器驱动程序是天喻信息开发的其ic读卡器的驱动,天喻TY522读卡器是武汉天喻信息产业股份有限公司自主研制并生产的USB接口通用I
今天买了一个4G高速SD卡(SDHC),笔记本自带的读卡器居然不能识别(只能识别普通的低速SD卡),于是上网下载了一个用来识别SDHC的windows补
scr驱动是一款读写卡器的驱动程序,最新版支持32位/64位的win7系统,驱动安装简单,不会的可以参考下面的说明。scr3310应用领域SCR
松下p2卡驱动支持32位和64位的windows操作系统,下载后点击SETUP.EXE完成安装步骤,操作简单,需要下载p2卡驱动程序的就来绿色资源网吧
德卡D8读写器驱动文件是适用于d8型读卡器驱动文件,压缩包内含dcrf32.dll以及D8/T8射频卡读写器演示程序,需要的自行下载吧。
D8型读写卡器
omnikey 5321驱动是一款读卡器驱动类软件,它可以有效地解决omnikey 5321读卡器在电脑上无法识别和不能正常连接的问题,有需要的朋友赶快下
SSK飚王SIM读卡器驱动能够支持32位和64位的winxp、vista、win7和win8系统,帮助用户用户sim读卡器不能正常使用或无法识别的问题。手机丢失后
本驱动是OMNIKEY 3x21系列智能卡多接口读卡器PC/SC驱动支持的型号包括:OMNIKEY
/21/7x21等。Omnikey智能卡读写器系
HD-100读卡器驱动的应用领域很广,主要是一些摄像机使用这个驱动,很多个人及机构都在使用它。怎么安装解压后直接双击Setup.exe安装即可。驱
hhd02a驱动是北京华虹集成电路设计专门针对华虹HHD02A读卡器推出的驱动程序,北京华虹hhd02a写卡器驱动支持xp/win7操作系统,如果您在使用H
宏基ACER Aspire E1-471G读卡器驱动程序,有时候你是否发现读卡器读不出来,那是驱动没装好的原因,这次小编为大家提供的这款驱动,专为读卡
ep801pu读卡器驱动是同型号读卡器设备的驱动程序,可以避免ep801pu读卡器不能正常识别或无法使用的问题,ep801pu驱动支持xp/win7系统,欢迎
不管这个驱动名称是pl-2303 usb-to-serial还是pl-2303 driver installer其实也可以作为凤凰读卡器驱动,win7系统也可以使用的,找这款驱动找
联想lenovo G470笔记本读卡器驱动程序,官方适配驱动程序,有时候你是否发现读卡器读不出来,那是驱动没装好的原因,这次小编为大家提供的这
Smart Card驱动适用于多种型号的智能卡,如果没有安装此驱动,可能会出现以下现象: 1.读卡器无法使用 2.设备管理器下会出现带有黄色叹号的大
USB手机卡读卡器的功能是一样的,只是这个是标准的接口做的,直接接到计算机的COM口就可以,实际上大部分USB手机卡读卡器也是使用的USB转换
HP Compaq Presario V3000系列读卡器驱动。适合包括市场卖的比较好的:hp3414,hp3608,hp3050,hp3643,hp3625等等机型。RICOH R5C832/843
本资源包括MUR-100演示软件1.9+MUR-100驱动,MUR-100上位机库函数及演示软件使用说明1.9说明:在启动本系统之后,首先选择当前所使用的读卡
EP801P读卡器在windowsXP系统下的驱动。注意在安装驱动过中,如果提示没有通过Windows徽标测试,无法验证它同XP的相容性,请点击“仍然继续
联通卡尔身份证阅读器驱动是专为联通用户推出的二代身份证读卡器驱动和控件安装程序。可以适用于公安、邮局、银行等多个行业领域。为方便用
OMNIKEY1021读卡器驱动是一款读卡器驱动程序,专为OMNIKEY1021型号读卡器打造,该驱动主要用于解决omnikey1021读卡器无法连接电脑或无法识别
这款安国读卡器驱动来自东芝电脑,其他采用Alcor安国主控芯片的读卡器也可以使用此驱动。关于安国:Alcor安国这个品牌研究优盘的朋友可能更
yadr001驱动是由银安官网推出的二代身份证阅读器驱动软件。该产品具有即插即用、快速完成身份证真伪扫描的特点。能够适用于多个行业领域!用
T61笔记本读卡器驱动是由联想官方推出的一款笔记本电脑读卡器驱动软件,适配于ThinkPadT61这个型号的联想笔记本电脑,可以帮助用户解决电脑
戴尔DELL Inspiron M4010读卡器驱动程序,官方最新驱动,读卡器专用,如果你的笔记本不能读TF卡,那么试着重装这款驱动。驱动是从官网上下来
华视电子cvr100uc驱动是cvr100uc二代身份证阅读器产品推出的身份证阅读器驱动软件。cvr100uc是CVR-100D产品的升级版,大家购买了新的设备后
scr3310写卡器驱动是同名USB读写卡器的官方驱动程序,可以让你的电脑快速识别该硬件,此驱动支持2K/XP/Server2003/Server2008/Vista/Window
ACS读卡器驱动支持ACS系列读卡器,非常全面的一个驱动,支持的型号非常多。具体支持的VID/PID列表详见压缩包内的“ReadMe.txt”文本文档。如
华视cvr100驱动是专为华视身份证阅读器产品使用者推出的免费的驱动软件。能够在多种电脑环境下运行操作。目的是解决用户无法正常使用华视cv
神盾icr100b二代身份证读卡器驱动完全免费,为官方最新版本!可以解决读卡器扫描失败问题!这款读卡器产品可以在国内多个行业领域使用。欢迎
EP600读卡器驱动,包括自动安装和手动安装方式。解压后直接打开“自动安装.exe”照屏幕上提示安装即可。手动安装说明:需要先解压缩,将读卡
卡尔二代身份证读卡器驱动(河南电信版)是适用于河南电信营业厅的身份证真伪识别应用,可以帮助用户解决读卡器不能正常使用的问题。该产品
因纳伟盛身份证阅读器驱动是针对因纳伟盛产品推出的读卡器驱动软件。可以适用于INVS300蓝牙型、INVS100-U系列、INVS100系列、INVS300[内置式
华视电子cvr100b驱动去哪里下载呢?cvr100b驱动是华视CVR-100B蓝牙身份证阅读器专用驱动安装程序!少了这款驱动,你购买的身份证读卡器就无
戴尔DELL Inspiron Mini 1018读卡器驱动程序,官方最新驱动,读卡器专用,如果你的笔记本不能读卡,那么试着重装这款驱动。驱动是从官网上下
卡尔二代身份证读卡器驱动(四川电信版)是由山东卡尔官网推出的一款身份证阅读器驱动软件。主要为四川电信用户提供便捷的身份证扫描识别功
神盾身份证阅读器驱动配合神盾二代身份证读卡器设备使用的驱动安装软件。小编今天提供的这款读卡器驱动程序是官方通用版本,可以支持神盾IC
中兴通r602驱动是一款非常实用的读卡器驱动程序,有了它以后,用户就可以非常便捷的将存储卡与电脑相连接,轻松的实现文件的互传和共享,欢
华视100R身份证阅读器驱动主要用于解决华视100R产品设备扫描、识别不正常的问题。当你购买的华视100R产品出现了上面问题,只需要来本站下载
华视电子cvr100n驱动是华视电子CVR-100N迷你式居民身份证阅读器产品配套驱动安装程序!软件内存体积小,安装简单。可以帮助用户解决身份证阅
神盾ggs0520驱动软件是神盾官网推出的身份证读卡器程序。这款身份证阅读器很古老了。所有想要找到这款驱动软件很不容易,希望绿软小编提供的
快易拍身份证驱动是一款支持快易拍k2、k2A证照仪设备的读卡器驱动程序。绑定快易拍证照仪后,可以实现高速、高清扫描体验,支持二代身份证双
快易拍名片识别驱动是一款可以快速识别名片的扫描仪驱动软件。安装完成后,可以实现名片拍照扫描、批量扫描操作。软件支持多种语言,大家在
瑞昱的读卡器一般多用于笔记本电脑中,虽说现在的XP vista win7三个系统都是支持即插即用,系统里面都集成了驱动程序。不过有时候出现这种插
热门专题推荐
相关文章推荐13.56M读卡器开发详解二(RC522驱动程序)
13.56M读卡器开发详解二
1.&硬件接口介绍
根据上一篇的介绍,小编使用了RC522的SPI口通信方式和51单片机进行通信。硬件接口设计此处不再附图。只是将接口配置列写如下:
sbit&&spi_cs=P1^6;
sbit&&spi_ck=P1^5;
sbit&&spi_mosi=P1^4;
sbit&&spi_miso=P1^3;
sbit&&spi_rst=P1^2;
#define&SET_SPI_CS&&spi_cs=1
#define&CLR_SPI_CS&&spi_cs=0
#define&SET_SPI_CK&&spi_ck=1
#define&CLR_SPI_CK&&spi_ck=0
#define&SET_SPI_MOSI&&spi_mosi=1
#define&CLR_SPI_MOSI&&spi_mosi=0
#define&STU_SPI_MISO&&spi_miso
#define&SET_RC522RST&&spi_rst=1
#define&CLR_RC522RST&&spi_rst=0
2.&51单片机模拟SPI通信函数
void&delay_ns(unsigned&int&data&ns)
&&unsigned&int&xdata&i;
&&for(i=0;i
&&&&nop();
&&&&nop();
&&&&nop();
unsigned&char&SPIReadByte(void)
&&unsigned&char&idata&SPIC&&&&&&&&&&&&&&&&&&&//&Counter&used&to&clock&out&the&data
&&unsigned&char&idata&SPID&&&&&&&&&&&&&&&&&&
&&SPIData&=&0;
&&for&(SPICount&=&0;&SPICount&&&8;&SPICount++)&&//&Prepare&to&clock&in&the&data&to&be&read
&&&&SPIData&&&=1;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//&Rotate&the&data
&&&&CLR_SPI_CK;&nop();nop();&&&&&&&&&&&&&&&&&&&&//&Raise&the&clock&to&clock&the&data&out&of&the&MAX7456
&&&if(STU_SPI_MISO)
&&&&&SPIData|=0x01;
&&&&SET_SPI_CK;&&&nop();nop();&&&&&&&&&&&&&&&&&&//&Drop&the&clock&ready&for&the&next&bit
&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//&and&loop&back
&&return&(SPIData);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//&Finally&return&the&read&data
void&SPIWriteByte(unsigned&char&data&SPIData)
&&unsigned&char&idata&SPIC&&&&&&&&&&&&&&&&&//&Counter&used&to&clock&out&the&data
&&for&(SPICount&=&0;&SPICount&&&8;&SPICount++)
&&&&if&(SPIData&&&0x80)
&&&&&&SET_SPI_MOSI;
&&&&&&CLR_SPI_MOSI;
&&&&}&nop();nop();
&&&&CLR_SPI_CK;nop();nop();
&&&&SET_SPI_CK;nop();nop();
&&&&SPIData&&&=&1;
&&}&&&&&&&&&&
}&&&&&&&&&&&&&&&&&&&&&&&&&&
3.RC522芯片的寄存器、命令字等定义
&&3.1命令字等定义
&&&这些宏定义都是根据RC522数据手册编写的代码。
&&3.2.&RC522寄存器地址定义
4.&&Rc522的14443协议代码驱动程序
&&4.1寻卡程序
&char&PcdRequest(unsigned&char&data&req_code,unsigned&char&*pTagType)
{&char&idata&&&
unsigned&int&idata&unL
unsigned&char&xdata&ucComMF522Buf[MAXRLEN];&
ClearBitMask(Status2Reg,0x08);
WriteRawRC(BitFramingReg,0x07);
SetBitMask(TxControlReg,0x03);
ucComMF522Buf[0]&=&req_
status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,1,ucComMF522Buf,&unLen);
if&((status&==&MI_OK)&&&&(unLen&==&0x10))
*pTagType&&&&&=&ucComMF522Buf[0];
*(pTagType+1)&=&ucComMF522Buf[1];
{&&&status&=&MI_ERR;&&&}&&
&4.2防冲撞函数
char&PcdAnticoll(unsigned&char&*pSnr)
&&&&char&xdata&
&&&&unsigned&char&xdata&i,snr_check=0;
&&&&unsigned&int&xdata&unL
&&&&unsigned&char&xdata&ucComMF522Buf[MAXRLEN];&
&&&&ClearBitMask(Status2Reg,0x08);
&&&&WriteRawRC(BitFramingReg,0x00);
&&&&ClearBitMask(CollReg,0x80);
&&&&ucComMF522Buf[0]&=&PICC_ANTICOLL1;
&&&&ucComMF522Buf[1]&=&0x20;
&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,2,ucComMF522Buf,&unLen);
&&&&if&(status&==&MI_OK)
&for&(i=0;&i&4;&i++)
&&&&&&&&&{&&&
&&&&&&&&&&&&&*(pSnr+i)&&=&ucComMF522Buf[i];
&&&&&&&&&&&&&snr_check&^=&ucComMF522Buf[i];
&&&&&&&&&}
&&&&&&&&&if&(snr_check&!=&ucComMF522Buf[i])
&&&&&&&&&{&&&status&=&MI_ERR;&&&&}
&&&&SetBitMask(CollReg,0x80);
&&&&return&
&&4.3选定卡片
char&PcdSelect(unsigned&char&*pSnr)
&&&&char&xdata&
&&&&unsigned&char&xdata&i;
&&&&unsigned&int&xdata&unL
&&&&unsigned&char&xdata&ucComMF522Buf[MAXRLEN];&
&&&&ucComMF522Buf[0]&=&PICC_ANTICOLL1;
&&&&ucComMF522Buf[1]&=&0x70;
&&&&ucComMF522Buf[6]&=&0;
&&&&for&(i=0;&i&4;&i++)
ucComMF522Buf[i+2]&=&*(pSnr+i);
ucComMF522Buf[6]&&^=&*(pSnr+i);
&&&&CalulateCRC(ucComMF522Buf,7,&ucComMF522Buf[7]);
&&&&ClearBitMask(Status2Reg,0x08);
&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,9,ucComMF522Buf,&unLen);
&&&&if&((status&==&MI_OK)&&&&(unLen&==&0x18))
&&&&{&&&status&=&MI_OK;&&}
&&&&{&&&status&=&MI_ERR;&&&&}
&&&&return&
&&&4.4验证卡片密码
char&PcdAuthState(unsigned&char&data&auth_mode,unsigned&char&data&addr,unsigned&char&*pKey,unsigned&char&*pSnr)
&&&&char&xdata&
&&&&unsigned&int&xdata&unL
&&&&unsigned&char&xdata&i,ucComMF522Buf[MAXRLEN];&
&&&&ucComMF522Buf[0]&=&auth_
&&&&ucComMF522Buf[1]&=&
&&&&for&(i=0;&i&6;&i++)
&&&&{&&&&ucComMF522Buf[i+2]&=&*(pKey+i);&&&}
&&&&for&(i=0;&i&6;&i++)
&&&&{&&&&ucComMF522Buf[i+8]&=&*(pSnr+i);&&&}
&//&&&memcpy(&ucComMF522Buf[2],&pKey,&6);&
&//&&&memcpy(&ucComMF522Buf[8],&pSnr,&4);&
&&&&status&=&PcdComMF522(PCD_AUTHENT,ucComMF522Buf,12,ucComMF522Buf,&unLen);
&&&&if&((status&!=&MI_OK)&||&(!(ReadRawRC(Status2Reg)&&&0x08)))
&&&&{&&&status&=&MI_ERR;&&&}
&&&&return&
4.5读取M1卡一块数据
char&PcdRead(unsigned&char&&data&addr,unsigned&char&*pData)
&&&&char&idata&
&&&&unsigned&int&idata&unL
&&&&unsigned&char&idata&i,ucComMF522Buf[MAXRLEN];&
&&&&ucComMF522Buf[0]&=&PICC_READ;
&&&&ucComMF522Buf[1]&=&
&&&&CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);
&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
&&&&if&((status&==&MI_OK)&&&&(unLen&==&0x90))
&//&&&{&&&memcpy(pData,&ucComMF522Buf,&16);&&&}
&&&&&&&&for&(i=0;&i&16;&i++)
&&&&&&&&{&&&&*(pData+i)&=&ucComMF522Buf[i];&&&}
&&&&{&&&status&=&MI_ERR;&&&}
&&&&return&
4.6写数据到M1卡一块
char&PcdWrite(unsigned&char&&data&addr,unsigned&char&*pData)
&&&&char&idata&
&&&&unsigned&int&idata&unL
&&&&unsigned&char&idata&&ucComMF522Buf[MAXRLEN];&
&&&&ucComMF522Buf[0]&=&PICC_WRITE;
&&&&ucComMF522Buf[1]&=&
&&&&CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);
&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
&&&&if&((status&!=&MI_OK)&||&(unLen&!=&4)&||&((ucComMF522Buf[0]&&&0x0F)&!=&0x0A))
&&&&{&&&status&=&MI_ERR;&&&}
&&&&if&(status&==&MI_OK)
&&&&&&&&memcpy(ucComMF522Buf,&pData,&16);
&&&&&//&&&for&(i=0;&i&16;&i++)
&&&&&&//&&{&&&&
&&&&&//&&&
ucComMF522Buf[i]&=&*(pData+i);&&&
&&&&&//&&&}
&&&&&&&&CalulateCRC(ucComMF522Buf,16,&ucComMF522Buf[16]);
&&&&&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,18,ucComMF522Buf,&unLen);
&&&&&&&&if&((status&!=&MI_OK)&||&(unLen&!=&4)&||&((ucComMF522Buf[0]&&&0x0F)&!=&0x0A))
&&&&&&&&{&&&status&=&MI_ERR;&&&}&}
&&&&return&
4.7命令卡进入休眠状态
char&PcdHalt(void)
&&&&char&idata&
&&&&unsigned&int&idata&unL
&&&&unsigned&char&idata&ucComMF522Buf[MAXRLEN];&
&&&&ucComMF522Buf[0]&=&PICC_HALT;
&&&&ucComMF522Buf[1]&=&0;
&&&&CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);
&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
&&&&return&MI_OK;
4.8&&RC522计算CRC16
void&CalulateCRC(unsigned&char&*pIndata,unsigned&char&data&len,unsigned&char&*pOutData)
&&&&unsigned&char&idata&i,n;
&&&&ClearBitMask(DivIrqReg,0x04);
&&&&WriteRawRC(CommandReg,PCD_IDLE);
&&&&SetBitMask(FIFOLevelReg,0x80);
&&&&for&(i=0;&i
&&&&{&&&WriteRawRC(FIFODataReg,&*(pIndata+i));&&&}
&&&&WriteRawRC(CommandReg,&PCD_CALCCRC);
&&&&i&=&0xFF;
&&&&&&&&n&=&ReadRawRC(DivIrqReg);
&&&&&&&&i--;
&&&&while&((i!=0)&&&&!(n&0x04));
&&&&pOutData[0]&=&ReadRawRC(CRCResultRegL);
&&&&pOutData[1]&=&ReadRawRC(CRCResultRegM);
4.9&复位RC522
char&PcdReset(void)
//PORTD|=(1&&RC522RST);
SET_RC522RST;
&&&&delay_ns(10);
//PORTD&=~(1&&RC522RST);
CLR_RC522RST;
&&&&delay_ns(10);
//PORTD|=(1&&RC522RST);
SET_RC522RST;
&&&&delay_ns(10);
&&&&WriteRawRC(CommandReg,PCD_RESETPHASE);
&&&&delay_ns(10);
&&&&WriteRawRC(ModeReg,0x3D);&&&&&&&&&//&&IMifare&&&I&&N&&&CRC³&&E¼&O&0x6363
&&&&WriteRawRC(TReloadRegL,30);&&&&&&&&&&&
&&&&WriteRawRC(TReloadRegH,0);
&&&&WriteRawRC(TModeReg,0x8D);
&&&&WriteRawRC(TPrescalerReg,0x3E);
WriteRawRC(TxAutoReg,0x40);//±&OÐ&&O&
&&&&return&MI_OK;
4.10&设置RC522工作方式
char&M500PcdConfigISOType(unsigned&char&data&type)
&&&if&(type&==&'A')&&&&&&&&&&&&&&&&&&&&&//ISO14443_A
&&&&&&&ClearBitMask(Status2Reg,0x08);
&&&&&&&WriteRawRC(ModeReg,0x3D);//3F
&&&&&&&WriteRawRC(RxSelReg,0x86);//84
&&&&&&&WriteRawRC(RFCfgReg,0x7F);&&&//4F
&&&WriteRawRC(TReloadRegL,30);//tmoLength);//&TReloadVal&=&'h6a&=tmoLength(dec)&
&&&WriteRawRC(TReloadRegH,0);
&&&&&&&WriteRawRC(TModeReg,0x8D);
&&&WriteRawRC(TPrescalerReg,0x3E);
&&&delay_ns(1000);
&&&&&&&PcdAntennaOn();
&&&else{&return&-1;&}
&&&return&MI_OK;
4.11&读RC522寄存器
unsigned&char&ReadRawRC(unsigned&char&data&Address)
&&&&unsigned&char&xdata&ucA
&&&&unsigned&char&xdata&ucResult=0;
CLR_SPI_CS;
&&&&ucAddr&=&((Address&&1)&0x7E)|0x80;
SPIWriteByte(ucAddr);
ucResult=SPIReadByte();
SET_SPI_CS;
&&&return&ucR
4.12&写RC522寄存器
void&WriteRawRC(unsigned&char&data&Address,&unsigned&char&data&value)
&&&&unsigned&char&xdata&ucA
CLR_SPI_CS;
&&&&ucAddr&=&((Address&&1)&0x7E);
SPIWriteByte(ucAddr);
SPIWriteByte(value);
SET_SPI_CS;
4.13&置和清RC522寄存器位
4.14&&RC522与ISO14443卡通讯
char&PcdComMF522(unsigned&char&data&Command,&
&&&&&&&&&&&&&&&&&unsigned&char&*pInData,&
&&&&&&&&&&&&&&&&&unsigned&char&data&InLenByte,
&&&&&&&&&&&&&&&&&unsigned&char&*pOutData,&
&&&&&&&&&&&&&&&&&unsigned&int&*pOutLenBit)
&&&&char&data&status&=&MI_ERR;
&&&&unsigned&char&data&irqEn&&&=&0x00;
&&&&unsigned&char&data&waitFor&=&0x00;
&&&&unsigned&char&data&lastB
&&&&unsigned&char&data&n;
&&&&unsigned&int&data&i;
&&&&switch&(Command)
&&&&&&&&case&PCD_AUTHENT:
irqEn&&&=&0x12;
waitFor&=&0x10;
case&PCD_TRANSCEIVE:
irqEn&&&=&0x77;
waitFor&=&0x30;
&&&&WriteRawRC(ComIEnReg,irqEn|0x80);
&&&&ClearBitMask(ComIrqReg,0x80);
&&&&WriteRawRC(CommandReg,PCD_IDLE);
&&&&SetBitMask(FIFOLevelReg,0x80);
&&&&for&(i=0;&i
&&&&{&&&WriteRawRC(FIFODataReg,&pInData[i]);&&&&}
&&&&WriteRawRC(CommandReg,&Command);
&&&&if&(Command&==&PCD_TRANSCEIVE)
&&&&{&&&&SetBitMask(BitFramingReg,0x80);&&}
&&&&//i&=&600;//&&¾&Y&E±&O&O&AE&&A&E&&&O&&&²&U&&M1&&&&&&&&E&&&E±¼&25ms
&&&&&&&&n&=&ReadRawRC(ComIrqReg);
&&&&&&&&i--;
&&&&while&((i!=0)&&&&!(n&0x01)&&&&!(n&waitFor));
&&&&ClearBitMask(BitFramingReg,0x80);
&&&&if&(i!=0)
&&&&&&&&if(!(ReadRawRC(ErrorReg)&0x1B))
&&&&&&&&&&&&status&=&MI_OK;
&&&&&&&&&&&&if&(n&&&irqEn&&&0x01)
&&&&&&&&&&&&{&&&status&=&MI_NOTAGERR;&&&}
&&&&&&&&&&&&if&(Command&==&PCD_TRANSCEIVE)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&
n&=&ReadRawRC(FIFOLevelReg);
&&&&&&&&&&&&&&
lastBits&=&ReadRawRC(ControlReg)&&&0x07;
&&&&&&&&&&&&&&&&if&(lastBits)
&&&&&&&&&&&&&&&&{&&&*pOutLenBit&=&(n-1)*8&+&lastB&&&}
&&&&&&&&&&&&&&&&else
&&&&&&&&&&&&&&&&{&&&*pOutLenBit&=&n*8;&&&}
&&&&&&&&&&&&&&&&if&(n&==&0)
&&&&&&&&&&&&&&&&{&&&n&=&1;&&&&}
&&&&&&&&&&&&&&&&if&(n&&&MAXRLEN)
&&&&&&&&&&&&&&&&{&&&n&=&MAXRLEN;&&&}
&&&&&&&&&&&&&&&&for&(i=0;&i
&&&&&&&&&&&&&&&&{&&&pOutData[i]&=&ReadRawRC(FIFODataReg);&&&&}
&&&&&&&&&&&&}
&&&&&&&&else
&&&&&&&&{&&&status&=&MI_ERR;&&&}
&&&&SetBitMask(ControlReg,0x80);&&&&&&&&&&&//&stop&timer&now
&&&&WriteRawRC(CommandReg,PCD_IDLE);&
&&&&return&
4.15&天线开启和关闭
4.16&扣款和充值
char&PcdValue(unsigned&char&data&dd_mode,unsigned&char&data&addr,unsigned&char&&*pValue)
&&&&char&data&
&&&&unsigned&int&data&&unL
&&&&unsigned&char&idata&&ucComMF522Buf[MAXRLEN];&
&&&&ucComMF522Buf[0]&=&dd_
&&&&ucComMF522Buf[1]&=&
&&&&CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);
&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
&&&&if&((status&!=&MI_OK)&||&(unLen&!=&4)&||&((ucComMF522Buf[0]&&&0x0F)&!=&0x0A))
&&&&{&&&status&=&MI_ERR;&&&}
&&&&if&(status&==&MI_OK)
&&&&&&&&memcpy(ucComMF522Buf,&pValue,&4);
&&&&&&&//&&for&(i=0;&i&16;&i++)
&&&&&&&&//&{&&&&ucComMF522Buf[i]&=&*(pValue+i);&&&}
&&&&&&&&CalulateCRC(ucComMF522Buf,4,&ucComMF522Buf[4]);
&&&&&&&&unLen&=&0;
&&&&&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,6,ucComMF522Buf,&unLen);
&&&&&&&&if&(status&!=&MI_ERR)
&&&&&&&&{&&&&status&=&MI_OK;&&&&}
&&&&if&(status&==&MI_OK)
&&&&&&&&ucComMF522Buf[0]&=&PICC_TRANSFER;
&&&&&&&&ucComMF522Buf[1]&=&
&&&&&&&&CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);&
&&&&&&&&status&=&PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
&&&&&&&&if&((status&!=&MI_OK)&||&(unLen&!=&4)&||&((ucComMF522Buf[0]&&&0x0F)&!=&0x0A))
&&&&&&&&{&&&status&=&MI_ERR;&&&}
&&&&return&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。本帖子已过去太久远了,不再提供回复功能。读卡器是什么
读卡器是什么  读卡器是什么?提起,很多人都立即会想到这种产品是配合而产生的,不过目前已经不再局限于数码相机使用了,而是扩展到了更多的领域。&读卡器&顾名思义这是一种读取数据的设备,但其不单单可以支持数据的读取同样支持数据的写入。其初期的设计思路主要是为了弥补数码相机数据输出的缺陷而产生的。由于早期USB接口并不普及,因此数码相机的输出口都是同电脑的串口连接的,由于串口的数据传输速度很低,如果把这些数据拷贝到硬盘上,那就要花费大量的等待时间了。那么读卡器有哪些分类呢?读卡器分类  读卡器从接口上来看主要有:并口读卡器、串口读卡器材、USB读卡器、PCMICA卡读卡器和IEEE1394读卡器。前两种读卡器由于接口速度慢或者安装不方便已经基本被淘汰了。USB读卡器是目前市场上最流行的读卡器,PCMICA卡读卡器最主要的被应用在笔记本电脑上,而IEEE1394读卡器由于支持的接口还没有流行,应用还不太广泛。  市场上主要的闪存或者多媒体卡主要为:、、MicroDrive、MemoryStick、MemoryStickPRO,、MicroSDCard、和SD,。按照读取的闪存种类来分,读卡器又被分为单功能读卡器、多功能读卡器。单功能读卡器一般只能读取一种类型的闪存卡,如CF读卡器只能读取CF闪存卡,SM读卡器只能读取SM闪存卡,这类读卡器的价格较低,只要100元;而多功能读卡器则是对各种闪存卡通吃,无论是SM卡、CF卡还是MemoryStick都可以轻松读取,不过这类产品的价格稍稍高一点,根据读取闪存卡的种类多少,价格在200-500之间不等。那么知道了什么是读卡器和读卡器的分类,具体要怎么使用呢?读卡器使用  三星的笔记本电脑不同型号支持的存储卡型号是不同的,但据在笔记本电脑市场工作的经验来说,三星笔记本电脑一般支持多种存储卡,最常见的配置就是三合一读卡器(支持存储卡类型有、MMC卡、MS卡)所见到的推出来的黑色的挡板,可能不是读卡器的挡板,是PCMIAC插槽的挡板,是笔记本电脑的通用扩展插槽,比读卡器插槽大多了,而且,挡板是在设计时候考虑到防尘问题(未使用时候避免灰尘进入)加的。  使用过程如下:  1.首先确定手头的存储卡类型。  2.确认笔记本电脑内置读卡器的支持类型,是否支持手头的存储卡。  3.确认笔记本电脑内置的读卡器支持手头的存储卡之后,找到正确的读卡器插槽,然后将存储卡插入(有金属结点该面向下插入),存储卡只有正确方向才能插入,可以轻轻试试。  4.如果存储卡不是笔记本电脑读卡器支持的类型,那可以去买一个USB接口的多功能读卡器。编后语  小编已经解答了读卡器是什么这个问题。通俗一点来说,读卡器就是用来读取数据的工具,一般是把内存卡插进读卡器,再把读卡器插入电脑,就可以实现把数据传输到电脑或者有更大存储量的工具上。现在读卡器的应用还是比较广泛的,不过很多手机、相机都有wifi功能,就可以通过网络直接传输到电脑,或者云盘,进行备份存储。相关阅读:CF卡是什么xD卡是什么扩展卡是什么&
最新更新栏目
您可能喜欢
大家都在搜}

我要回帖

更多关于 cf卡读卡器哪个牌子好 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信