(6)mifare卡读写器开发心得『转』--整理重发贴

来源:互联网 发布:wiley电子期刊数据库 编辑:程序博客网 时间:2024/05/29 11:20
发信人:qishi00 发表时间:2003-02-20 11:18:32
--------------------------------------------------------------------------------
各位大侠:
    本人在设置卡密码时遇到下列情况:
存储控制,另c1x c2x c3x =110
           c1x3 c2x3 c3x3 =011
拼出来的存储控制是 08 77 8f 69 ,第四字节好像没用,是我随便写的
A密码我设置成 aa aa aa aa aa aa,B密码设置成 bb bb bb bb bb bb
结果A密码可以验证通过,并且可以进行读卡以及减值操作。
但是B密码就一直验证不通过。
所以我用缺省的存储控制: FF 07 80 69 ,此时密码B可读,目的是想看读出的是否跟写进去的是否一致。
结果,读出来的B密码是 BB BB BB BB BB B5,
有哪位知道是什么问题吗?
     

发信人:qishi00 发表时间:2003-02-20 11:28:11
--------------------------------------------------------------------------------
然后我回过头用bb bb bb bb bb b5的密码去验证之前B密码不可读的块,则又验证不通过。

发信人:baysky 发表时间:2003-02-20 14:37:57
--------------------------------------------------------------------------------
不知道有谁用过 Philips RF632, 用SAM认证,不知道怎么写程序,哪位大侠能指点一下吗? 项目需要

发信人:tony0418 发表时间:2003-02-21 10:42:35
--------------------------------------------------------------------------------
   我最近测试北京握奇公司的timecos卡,有他们提供的源程序,但是测试结果不理想,请教老手指点一下读写要注意的问题,如果有测试过的 源程序就更好,谢谢!!!

发信人:hjmc 发表时间:2003-02-21 11:17:06
--------------------------------------------------------------------------------
可是哪里有13.56M晶振?
我使用13.5M根本不读卡,
市面上又没有13.56M卖?

发信人:cxshj 发表时间:2003-02-21 12:12:04
--------------------------------------------------------------------------------
不知是什么原理

发信人:StevenCh 发表时间:2003-02-21 17:32:52
--------------------------------------------------------------------------------
作为Philips,我们欢迎大家开发MF RC500,其实我们的资料在网站很容易下载,而且经过我们不断的PUSH,很多以前需要密码的资料现在已经公开。如果大家需要带密码的文档,那需要签订NDA,手续很简单,请大家和我联系。
谢谢大家!
下载资料网站:http://www.semiconductors.com/markets/identification/customer/download/

发信人:StevenCh 发表时间:2003-02-21 17:35:24
--------------------------------------------------------------------------------
作为Philips,我们欢迎大家开发MF RC500,其实我们的资料在网站很容易下载,而且经过我们不断的PUSH,很多以前需要密码的资料现在已经公开。如果大家需要带密码的文档,那需要签订NDA,手续很简单,请大家和我联系。
谢谢大家!
下载资料网站:http://www.semiconductors.com/markets/identification/customer/download/

发信人:tpu 发表时间:2003-02-21 17:40:34
--------------------------------------------------------------------------------
我有一个模块,用一个PIC单片机加上外围电路,可以读TypeA和TypeB的,以及ISO-15693卡。老外作的。

发信人:StevenCh 发表时间:2003-02-21 17:40:36
--------------------------------------------------------------------------------
Philips确实有Light卡,但现在已经基本停产,Ultra Light是新的替代产品。
Handf如果感兴趣,可以和我联系,我提供你资料

发信人:zbs9013 发表时间:2003-02-24 17:06:26
--------------------------------------------------------------------------------
我咨询过华虹的工程师,好象不行,虽然都符合ISO14443标准,但是因为内部的加密算法不一样,而且该部分没有对用户的相应接口,所以无法统一。

发信人:fmc 发表时间:2003-02-25 08:42:22
--------------------------------------------------------------------------------
请教开发过RC500的前辈,你们从代理那里拿到的程序编译能通过吗!要做些什么修改??我是在伟福里编译的,提示有错误:SPACE ADDRESS OVERLOW,还有volatile是定义什么变量用的,谢谢!

发信人:handf 发表时间:2003-02-25 11:49:13
--------------------------------------------------------------------------------
发信人:handf 发表时间:2003-02-25 11:54:01
--------------------------------------------------------------------------------
不好意思现在才看到,刚才手误。有客户在用light卡,为了能更好的做支持,所以也希望能够对这方面做一些测试。如果可以的话可将相关文档发到我的邮箱里,您是上海飞利浦的steven chang吧。
我的邮箱:handf@start.com.cn,非常感谢!

发信人:yaoji104 发表时间:2003-02-25 18:08:21
--------------------------------------------------------------------------------
在demo的程序: 函数M500piccvlue 中的参数定义了一个 uchar的指针,这个指针指向了一个4字节的数组。这4 bytes是何意义?增加量、减少量还是另有其他意思。谢谢

发信人:jiangbo123 发表时间:2003-02-26 09:14:49
--------------------------------------------------------------------------------
要注意的是好像只有低31bit参加运算,最高bit无效。

发信人:yaoji104 发表时间:2003-02-26 09:25:06
--------------------------------------------------------------------------------
只有低31个bits参加运算,最高位无效--不懂??
还有这个函数的计算结果只能存在card`s internal register,not EEPROM。用什么方法把结果写进EEPROM呢。?

发信人:jiangbo123 发表时间:2003-02-26 09:38:15
--------------------------------------------------------------------------------
用transfer和restore实现register与eeprom之间的数据传递。

发信人:StevenCH 发表时间:2003-02-26 10:12:13
--------------------------------------------------------------------------------
你说的完全正确,其实ISO/IEC 14443 A Part 3只定义了从REQUEST到SELECT指令,AUTHENTICATION,READ,WRITE,DEC,INC,RESTORE,TRANSFER等都是APPLICATION端的应用。
华虹和MIFARE应该在AUTHENTICATION有差别,加密算法也是有国际标准的,但具体实现可以不同,所以你可以得到序列号,但读不到其中的数据。

发信人:StevenCH 发表时间:2003-02-26 10:24:26
--------------------------------------------------------------------------------
021-63541088 ext.5973

发信人:zbs9013 发表时间:2003-02-26 12:40:24
--------------------------------------------------------------------------------
加密算法好象都是DES的,但肯定密钥不同,所以肯定读不出来数据。

发信人:zbs9013 发表时间:2003-02-27 12:48:45
--------------------------------------------------------------------------------
有谁开发过非接触式CPU卡,可以聊聊吗?

发信人:cwcyxy 发表时间:2003-02-27 14:52:24
--------------------------------------------------------------------------------
发信人:zbs9013 发表时间:2003-02-27 17:00:38
--------------------------------------------------------------------------------
请问老兄有没有相关的资料呢,给我发点,让我见识见识啊,谢谢了,
zhangbs@jinglun.com.cn

发信人:cwcyxy 发表时间:2003-02-28 08:27:28
--------------------------------------------------------------------------------
request ,anticoll和select与mifare1一样,其他的参看
ISO14443-3/4。不明白时动动脑子。

发信人:wood1 发表时间:2003-03-02 10:51:48
--------------------------------------------------------------------------------

发信人:whf_27 发表时间:2003-03-02 21:21:37
--------------------------------------------------------------------------------
我在RC500芯片复位后,立即读取内部0x10-0x2f的寄存器值,具体如下所示:
0x00 0x58 0x3F 0x3F 0x19 0x13 0x00 0x00
0x00 0x73 0x08 0xAD 0xFF 0x00 0x41 0x08
0x00 0x06 0x03 0x63 0x63 0x00 0x00 0x05
0x00 0x08 0x07 0x06 0x0A 0x02 0x05 0x05
发现在地址为0x27、0x2e、0x2f处本来为Preset值(0x00),可是现在为0x05,我对此芯片除了复位和写page register外,什么也没有操作过?几个芯片情况都是这样,请问这是那边出了问题?请各位大侠不吝指点。-是不是我烧芯片了? :(

发信人:srz 发表时间:2003-03-03 08:30:32
--------------------------------------------------------------------------------
发信人:whf_27 发表时间:2003-03-03 10:06:28
--------------------------------------------------------------------------------
在jiangbo123帖子里面说把以下程序的第一个while注释掉:
while (((ReadRawIO(RegCommand) & 0x3F) != 0x3F) && !T2IR);
   // while reset sequence in progress
while ((ReadRawIO(RegCommand) & 0x3F) && !T2IR);
我认为这不是一概而论的。当系统比较快的时候,没有第一句,可能就会导致RC500没有复位完就开始往里面写数据了。会有出错的可能。(用仿真器单步调试时,第一句应该注释掉的,否则会有问题。)---个人观点,仅供参考,因为我还没有调试成功呢。:)

发信人:longfree发表时间:2003-03-04 23:35:34
--------------------------------------------------------------------------------
本人在开发MF RC500中遇到用KEYA验证后读数据块完全正确,但用KEYB验证正确后,读数据块发生错误:接收数据长度位1而非16,何故?请各位大侠指教。
    另有:是否有直接读写值块的命令?我是读数据块加校验(写同理),可行否?
发信人:cxshj 发表时间:2003-03-05 11:20:27
--------------------------------------------------------------------------------
http://www.insidefr.com/products/couplers_m210.htm

发信人:cxshj 发表时间:2003-03-05 13:01:20
--------------------------------------------------------------------------------
原来为:
#define OSC_FREQ                22118400L
#define RCAP2_50us             65536L - OSC_FREQ/240417L
#define RCAP2_1ms              65536L - OSC_FREQ/12021L
改为11。0592应是多少。
我改了,但怕改错,大伙是如何改的。

发信人:cwcyxy 发表时间:2003-03-05 13:27:13
--------------------------------------------------------------------------------
发信人:cxshj 发表时间:2003-03-05 13:52:20
--------------------------------------------------------------------------------
我的板子有是会没有波形,我怕时钟算错,所以就来问大伙了

发信人:whf_27 发表时间:2003-03-05 15:43:58
--------------------------------------------------------------------------------
改的时候,修改预定义语句,不要在程序中直接一一修改(难免有遗漏的吗 ^_^)#define OSC_FREQ  22118400L
改快没有问题的。由于demo程序采用中断和定时方式,速度快,不会有问题的。(只要满足RC500接口的读写时序)。
改慢了,就要小心了,譬如复位时查询0x3f复位控制命令语句可能会导致永远跳不出来(此时可以注释掉)。其它地方基本没有问题的。
发信人:cxshj 发表时间:2003-03-05 16:00:33
--------------------------------------------------------------------------------
while (((ReadRawIO(RegCommand) & 0x3F) != 0x3F) && !T2IR);
while ((ReadRawIO(RegCommand) & 0x3F) && !T2IR);
在这条语句里是否要加狗啊

发信人:whf_27 发表时间:2003-03-05 17:08:34
--------------------------------------------------------------------------------
凭感觉可以了。上面不是已经有定时了吗。(T2IR=1时退出)

发信人:longfree发表时间:2003-03-05 21:51:28
--------------------------------------------------------------------------------
,但用KEYB验证正确后,读数据块发生错误:接收数据长度位1而非16,何故?请各位大侠指教。

发信人:longfree发表时间:2003-03-05 21:58:26
--------------------------------------------------------------------------------
,是IC卡的安全机制引起的,与读卡器无关.

发信人:longfree发表时间:2003-03-05 23:38:38
--------------------------------------------------------------------------------
在Demo程序中,KEYA密码和KEYB密码是分别应用的,也就是KEYA密码使用的是32个密码中的0,2,4,...14,而KEYB密码使用的是1,3,5,...15.但实际上32个密码没有分类,对KEYA及KEYB都能认证.因此程序中
   unsigned short e2addr = 0x80 key_sector * 0x18;
   unsigned char *e2addrbuf = (unsignedchar*)&e2addr;
   
   if (auth_mode == PICC_AUTHENT1B)
      e2addr = 12; // key B offset   
的 key_sector * 0x18 和 e2addr = 12 是有意分成两类密码.
如改为
   unsigned short e2addr = 0x80 key_sector * 0x0b;// 0<=key_sector<=31
   unsigned char *e2addrbuf = (unsignedchar*)&e2addr;
   
而取消下两行
   if (auth_mode == PICC_AUTHENT1B)
      e2addr = 12; // key B offset   
则能用任一EEPROM密码来认证KEYA或KEYB
不知是否合适,请各位发表意见.

发信人:longfree发表时间:2003-03-05 23:44:53
--------------------------------------------------------------------------------
在刚才的帖子中  
   unsigned short e2addr = 0x80 key_sector * 0x0b;// 0<=key_sector<=31
   unsigned char *e2addrbuf = (unsignedchar*)&e2addr;
   
应为
   unsigned short e2addr = 0x80 key_sector * 0x0c;// 0<=key_sector<=31
   unsigned char *e2addrbuf = (unsignedchar*)&e2addr;
0x0b改为0x0c,输入有误!
   
发信人:cwcyxy 发表时间:2003-03-06 11:26:58
--------------------------------------------------------------------------------
keyA,keyB的功能就在于此。

发信人:zhbd 发表时间:2003-03-06 21:14:05
--------------------------------------------------------------------------------
请问:  在demo程序中,通过哪个函数来选中mifare卡中的某个扇区的四个块呢?
就是说,我第一次对某个扇区block 0进行读写等操作,第二次对这个扇区block 1读写,第三次修改这个扇区密码A .我知道通过存取控制能办到,但具体的实现方法在程序中应该怎么做呀?  从上班到现在,在程序中也没找出来,实在想不出从哪下手, 还请各位指教.
还有, 对卡进行读写操作也是奇次失败,偶次成功(jiangbo123和boilink都提到过)
从本论坛里我获取了很多信息,在此特别感谢大家.
  

发信人:longfree发表时间:2003-03-06 22:44:59
--------------------------------------------------------------------------------
在每次选卡时,都执行一次
      status1 = M500PcdConfig();
再执行
      if (status1==MI_OK)
          status1 = M500PiccRequest(PICC_REQALL, tt1);
                
      if (status1==MI_OK)
          status1 = M500PiccAnticoll(0,cardserialno);
      if (status1==MI_OK)
          status1=M500PiccSelect(cardserialno,sak1);
就没问题了.
发信人:longfree发表时间:2003-03-06 22:56:56
--------------------------------------------------------------------------------
1.选卡,得卡SN
2.密码验证,对SN,密码,BLOCK:
     status1=M500PiccAuthKey(PICC_AUTHENT1B,cardserialno,ls0,Block);
   BLOCK指定了某一扇区的数据块编号,此时BLOCK可为此扇区的任一数据块编号,即可认证整个扇区,下一步整个扇区的数据块操作都可进行
3.读、写操作

发信人:yjrshhic 发表时间:2003-03-07 11:49:13
--------------------------------------------------------------------------------
请教个问题。RC500的芯片在对什么寄存器操作时容易损坏?要注意点什么问题?请各位高手指教!

发信人:jiangbo123 发表时间:2003-03-07 12:50:38
--------------------------------------------------------------------------------
可以参见以前的帖子

发信人:jiangbo123 发表时间:2003-03-07 12:53:30
--------------------------------------------------------------------------------
比如KEYA(KEYB)权限的问题,寻卡一次成功一次不成功的问题。

发信人:rfcard 发表时间:2003-03-08 19:22:43
--------------------------------------------------------------------------------
rc500技术转让,详情请见:www.rf-card.com

发信人:yjrshhic 发表时间:2003-03-10 12:12:26
--------------------------------------------------------------------------------
请问有没有philips提供的demo程序吗?能发一份给我吗?谢谢

发信人:cxshj 发表时间:2003-03-12 14:51:00
--------------------------------------------------------------------------------
不知此M500PiccRead函数有什么特别的地方

发信人:cxshj 发表时间:2003-03-12 16:38:19
--------------------------------------------------------------------------------
调用完M500PiccRead后还正常,可再调用M500PiccHalt函数复位了。
搞不懂

发信人:sheng 发表时间:2003-03-13 16:16:49
--------------------------------------------------------------------------------
发信人:jiangbo123 发表时间:2003-03-13 21:35:55
--------------------------------------------------------------------------------
发信人:cxshj 发表时间:2003-03-14 14:34:13
--------------------------------------------------------------------------------
发信人:jack_chen 发表时间:2003-03-14 14:52:00
--------------------------------------------------------------------------------
我们是飞环电子--philips一级代理
刚才有人要资料,请与我们联系,只要签订保密协议,就可以免费提供给你,谢谢!
028-85438805
Mr Chen

发信人:srz 发表时间:2003-03-15 10:15:30
--------------------------------------------------------------------------------
SAK帧包括1字节SAK及2个字节CRC,那SAK数据是多少?

发信人:qgque 发表时间:2003-03-15 21:14:40
--------------------------------------------------------------------------------
MCM200、MCM500和MF RC500有什么区别?

发信人:qgque 发表时间:2003-03-15 21:25:59
--------------------------------------------------------------------------------
Mifare系列卡包括那些卡?他们的性能参数是什么?哪里有资料下载啊?

发信人:qgque 发表时间:2003-03-16 17:37:20
--------------------------------------------------------------------------------
能把RC500的代码和Reader的PCB资料发给我吗?非常感谢!!!

发信人:jiangbo123 发表时间:2003-03-17 09:39:56
--------------------------------------------------------------------------------
发信人:jack_chen 发表时间:2003-03-17 10:35:58
--------------------------------------------------------------------------------
我发现这里面有些人动不动就开口问,为什么不自己去先动手看看资料再说呢??是不是别人告诉你,比较方便?但是很多人还是有自己的工作阿,另外RC500等资料是保密的,我知道你是没法看,但是基本的性能指标在很多地方都有办法找到,最好的方法就是多用用搜索器,比如google等,另外S50,70等芯片资料也是开放的阿,都可以看的,多看看,想想再问,如果纯粹找别人来问,那我请问你的价值何在?自学能力也是很重要的!

发信人:jiangbo123 发表时间:2003-03-17 12:18:41
--------------------------------------------------------------------------------
jack_chen是成都飞环电子的吗?他们可是philips的代理哟。呵呵。

发信人:StevenCH 发表时间:2003-03-17 16:42:16
--------------------------------------------------------------------------------
Dear all,
大家都可以开发RC 500 family的读卡器。我们的资料都是免费的,可以从philips的网站下载,有些可能是保密的,但只要签订NDA就可以得到密码。你可以联系我们的代理 “飞环电子“,当然,你也可以直接联系我。Steven.J.Chang@Philips.com 021-63541088-5973.
有什么不明白,尽管打我电话!
资料下载网址:
http://www.semiconductors.philips.com/markets/identification/customer/download/

发信人:StevenCH 发表时间:2003-03-18 13:45:36
--------------------------------------------------------------------------------
4字节序列号卡(Mifare1 S50,S70),SAK=0X08
7字节序列号卡(Mifare Ultralight),SAK=0X04

发信人:StevenCH 发表时间:2003-03-18 13:51:54
--------------------------------------------------------------------------------
So many:
Mifare classic:
  - Mifare 1 S50(1k bytes).S70(4k bytes)
  - Mifare Ultralight(512 bits without 3-pass authenfication
  - Mifare Desfire (New product with 3-des co-processor
    inside,supported file operation)
  - Mifare Light( stopped)
Duel interface:
  - Mifare Pro
  - Mifare ProX
  - Smart Mx

发信人:StevenCH 发表时间:2003-03-18 14:07:18
--------------------------------------------------------------------------------
控制条件为
0xFF,0x07,0x80
注意此时Key B 是可读的,不能作为真正可认证读写的key。你会发现用Key B认证是正确的,读写总报错。
要使Key B生效,很简单,只要把KeyB变为不可读就好,例如:
0x7F,0x07,0x88
后面的那个0x69字节是用于: Mifare Application Directory的,可以忽略。

发信人:StevenCH 发表时间:2003-03-18 14:19:59
--------------------------------------------------------------------------------
CM500,CM200是比较老的模块产品,体积很大,功耗较高,价钱大家也知道,MF RC500是全球第一个集成化的单颗读卡芯片。
从性能来讲,CM 500 为10cm,CM200为2.5cm,RC500为10cm,RC500给用户提供了更自由的应用,尤其在只需要按照ISO 14443 A接口的应用中(用户自己软件实现加密)非常简单。
其它的比较还很多,比如天线匹配不同,EEPROM等等。反正整个结构都变了。
不想写了,太多了。。。。。。。

发信人:cxshj 发表时间:2003-03-19 11:21:49
--------------------------------------------------------------------------------
发信人:StevenCH 发表时间:2003-03-19 14:27:46
--------------------------------------------------------------------------------
Please take a note two registers value.
0x11 TxControl
0x12 CwConductance

发信人:cxshj 发表时间:2003-03-19 14:59:00
--------------------------------------------------------------------------------
发信人:stevenshao 发表时间:2003-03-19 16:15:15
--------------------------------------------------------------------------------
发信人:cxshj 发表时间:2003-03-19 16:31:07
--------------------------------------------------------------------------------
0x11 TxControl
0x12 CwConductance
两个标准值应是多少。
0x11 = 0x03
0x12 = 0x36????e

发信人:srz 发表时间:2003-03-19 17:17:03
--------------------------------------------------------------------------------
发信人:StevenCH 发表时间:2003-03-20 15:50:29
--------------------------------------------------------------------------------
Hi,cxshj,
0x11 = 0x58,0x12 = 0x3f 是初始值,在config模块中没有更改,但在Request中,将其低两位置位,这个时候可以明显看到TX1和TX2上有对称的,相位差180度的波形,你可以通过Test模式来观察波形。

发信人:StevenCH 发表时间:2003-03-20 16:32:43
--------------------------------------------------------------------------------
发信人:cxshj 发表时间:2003-03-21 15:15:52
--------------------------------------------------------------------------------
读TxControl(0x11),CwConductance(0x12)的值不是0x58,0x3f,而是0x10,0x12。同样的程序在其它的板上是正确的,且有波形。
初始化模块时数据乱了,还是芯片已经over了  

发信人:cxshj 发表时间:2003-03-21 15:38:32
--------------------------------------------------------------------------------
原来是一个脚虚焊,555555555

发信人:LYPD96 发表时间:2003-03-21 22:40:15
--------------------------------------------------------------------------------
mifare卡的数据是用MANCHESTER调制还是用FSK调制,或PSK调制?有人知道吗?LYP103@MAIL.CHINA.COM

发信人:StevenCH 发表时间:2003-03-24 14:39:46
--------------------------------------------------------------------------------
Mifare 完全遵守ISO/IEC 14443 A.
PCD => PICC
ASK 100%
Modified Miller coding
PICC=> PCD
Load Modulation
Machester coding

发信人:DavidQi 发表时间:2003-03-26 14:38:13
--------------------------------------------------------------------------------
我对RC500 对RSTPD 软件复位后,读寄存器00-07的内容
80 00 2D 05 00 60 00 01
01 单元 应为 3F ,其他也不全对!复位不正确!!!请朋友指点!我一定会表示谢意。

发信人:mrd180 发表时间:2003-03-26 14:53:28
--------------------------------------------------------------------------------
。。。。。。。。。

发信人:morton 发表时间:2003-03-27 14:19:45
--------------------------------------------------------------------------------
   请问CL632在编程时,Config和Reset的区别?
   CL632在编程时,需要注意什么?
   谢谢!

发信人:fyhgod 发表时间:2003-03-28 20:11:02
--------------------------------------------------------------------------------
发信人:msp2001 发表时间:2003-03-29 20:41:04
--------------------------------------------------------------------------------
缺乏这方面的东西。大虾们帮忙

发信人:cxshj 发表时间:2003-03-31 13:22:35
--------------------------------------------------------------------------------
我的设备一读白卡就死机。写一点数据后,再读就不死机了。奇怪

发信人:jiangbo123 发表时间:2003-03-31 16:04:57
--------------------------------------------------------------------------------
白卡里面的数据除了第0扇区第0块外都是0,所有的密码都是6字节的0xff。你说的情况我觉得是不应该的,可能是其他的错误导致的。

发信人:xujie3u 发表时间:2003-04-01 08:46:55
--------------------------------------------------------------------------------
  旧mifare卡能否初始成空白卡,在不知密钥情况下?

发信人:jiangbo123 发表时间:2003-04-01 11:12:35
--------------------------------------------------------------------------------
先看看文档再来问吧。

发信人:l101_0 发表时间:2003-04-02 11:37:16
--------------------------------------------------------------------------------
能不能给我发一份菲利普的源码啊
我的邮箱是lmc@gzte.com
非常感谢

发信人:handf 发表时间:2003-04-02 17:23:57
--------------------------------------------------------------------------------
我用的是SLE66CL160S卡,第一步REQB都不行。我查波形没有问题。包括SOF、05H、00H、00H、CRC2和EOF,现在不能确定的就是CRC初值是什么。快帮帮我吧,我都快郁闷死了,资料有不全,全是一些无关紧要的与操作没有任何帮助的东西。

发信人:tpu 发表时间:2003-04-03 13:17:29
--------------------------------------------------------------------------------
可能是寄存器设置不对.我是这样设置的:
0x11=0x4b
0x13=0x06
0x14=0x20
0x17=0x23
0x19=0x73
0x1a=0x19
0x1c=0x44
0x1d=0x3e
0x22=0x2c
0x23=0xff
0x24=0xff
可以参考一下.

发信人:handf 发表时间:2003-04-03 17:05:00
--------------------------------------------------------------------------------
我仔细核对了这几个寄存器的状态值,没有问题。我开始怀疑是等待时间不够长,但是我发现设置到450ms时卡片依然没有任何响应数据。无奈,卡片不相应的原因会是哪些?tpu兄再麻烦你一下,也请各位高手多指点一下小弟,都快一周了,一点线索也没有。

发信人:tpu 发表时间:2003-04-04 10:17:02
--------------------------------------------------------------------------------
可能我们的硬件不一样,参数设置也不同吧。

发信人:wuyuehua 发表时间:2003-04-07 13:15:25
--------------------------------------------------------------------------------
请教jiangbo123:
对M1,密码B可见时,操作该扇区只须验证A即可,
而设密码B不可见后,怎样操作该扇区()->是验证A后再接着验证B吗?顺序如何?   

发信人:jiangbo123 发表时间:2003-04-10 09:24:18
--------------------------------------------------------------------------------
两者没有依赖关系,对于A密码和B密码,只要给它设置了相应的权限,以后验证通过该密码就可以进行相应权限的操作了。

发信人:qgque 发表时间:2003-04-10 15:46:08
--------------------------------------------------------------------------------
我现在正在用rc500做读卡器,想参考一下你的代码和PCB,不知可否?谢谢!

发信人:qgque 发表时间:2003-04-10 17:25:02
--------------------------------------------------------------------------------
谢谢stevenCH的回复!我正在做rc500读卡器,到时候还有什么问题还请多多指教!

发信人:avansyslee 发表时间:2003-04-10 22:10:24
--------------------------------------------------------------------------------
天线按照手册实际即可,很好使用

发信人:jiangbo123 发表时间:2003-04-11 08:43:29
--------------------------------------------------------------------------------
发信人:handf 发表时间:2003-04-11 11:00:00
--------------------------------------------------------------------------------
原来卡片没反应是因为我的调幅度设置的太小,我改到20%后卡片有应答。但是531返回帧错误的信息,按照资料的描述应该是SOF标示符错误,我不知道原因在哪里,不知道你有没有碰到过。

发信人:qgque 发表时间:2003-04-14 09:41:48
--------------------------------------------------------------------------------
在MFREG500.h文件里0x14处的寄存器宏定义是这样的:
#define RegcoderControl 0x14;
但是看MFRC500的电子文档里0x14处的寄存器应该是RFU,不知道是电子文档错了还是程序里面有问题?请指正。

发信人:qgque 发表时间:2003-04-14 09:52:50
--------------------------------------------------------------------------------
同样的问题在0x3f处也出现:
#define RegTestDigAccess 0x3f;
但电子文档里0x3f也是RFU
请stevenCH指教。
发信人:qgque 发表时间:2003-04-14 10:05:15
--------------------------------------------------------------------------------
在rc500文件中
#ifdef __cplusplus
extern "C"
{
#endif
实现什么功能?
是不是让程序在c和c 编译环境下不需改动就能使用?还是其他什么功能?请指教!

发信人:zhoujj 发表时间:2003-04-14 10:32:47
--------------------------------------------------------------------------------
谢谢,还有如何判断rc500已经损坏啊?
我是新手

发信人:qgque 发表时间:2003-04-14 16:49:09
--------------------------------------------------------------------------------
#define MI_NOTAGERR  (-1);
这条语句中有必要用括号吗?直接
#define MI_NOTAGERR   -1;
不行吗?

发信人:whf_27 发表时间:2003-04-14 16:57:37
--------------------------------------------------------------------------------
我想您说的应该都没有错的。但是作为一个优秀的程序员编写的程序不仅仅是能用。还有其它一些要考虑的。无论是编程的风格还是思路,都应该往尽善尽美方向发展。
譬如上面的括号一般有没有都没有关系,但是加上就不会在某些场合出错。如
#define dif (65536-a/b)[/#]
..
..
dif*23      // (65536-a/b)*23
如果不加括号,就会成了: 65536- a/b*23
这就是明显错的。我认为mifare的example程序写的还是很好的。无论是风格还是思路,国内一般的硬件编程人员还做不到-可能偏颇了。
发信人:qgque 发表时间:2003-04-14 17:03:50
--------------------------------------------------------------------------------
我想明白了,很有道理,谢谢whf_27,希望以后继续指点!

发信人:tpu 发表时间:2003-04-14 19:10:53
--------------------------------------------------------------------------------
是不是CRC,奇偶校验等没有设置好?你可以分析一下读出的数据,是否是正确的。
原创粉丝点击