RC632读身份*UID问题

[复制链接]
5279|7
 楼主| 国防大学 发表于 2013-5-13 21:21 | 显示全部楼层 |阅读模式
我用RC632读身份证UID,同一张身份证每次读出的UID不一样,有时候前几位一样,有时候个别位一样,但都是在那几个数之间变动,这是为啥啊?


Get_UID_TypeB(&buffer[0])
把身份证UID放在buffer,通过串口打印到PC
                for(i=0;i<10;i++)
                {
                    EUSART_SendByte(buffer[i]);
                }

char Get_UID_TypeB(unsigned char *ATQB1)
{
    char  status;
    struct TranSciveBuffer MfComData;
    struct TranSciveBuffer *pi;
    pi=&MfComData;

    ClearBitMask(RegControl,0x08);      // disable crypto 1 unit

    PcdSetTmo(5);
    MfComData.MfCommand = PCD_TRANSCEIVE;
    MfComData.MfLength  =5;
    MfComData.MfData[0] =0x00; //ISO14443B_ANTICOLLISION;                    // APf code
    MfComData.MfData[1] =0x36;// AFI;                //
    MfComData.MfData[2] =0x00; //((req_code<<3)&0x08) | (N&0x07);  // PARAM
    MfComData.MfData[3] =0x00;
    MfComData.MfData[4] =0x08;

    status = PcdComTransceive(pi);

    if (status == MI_OK)
    {
            memcpy(ATQB1, &MfComData.MfData[0], 10);
    }
    return status;
}
 楼主| 国防大学 发表于 2013-5-13 21:22 | 显示全部楼层
指导老师说是时序问题,哪位大侠懂,给指点一下啊
yklstudent 发表于 2013-5-14 06:45 | 显示全部楼层
楼主作死  这个可以自己做????
 楼主| 国防大学 发表于 2013-5-14 10:02 | 显示全部楼层
yklstudent 发表于 2013-5-14 06:45
楼主作死  这个可以自己做????

怎么不能自己做??????????????
我已经用STC单片机实现了读身份*UID,现在想移植到PIC上
3楼请注意,我说的是读身份*UID,也就是序列号,不是身份*号,3楼看清问题再让我作死也不迟
二代证的频率是13.56M的,你只要有RC500的芯片,就可以读出来,但是,只是读出二代证的ID号,就是唯一序列号,类似S50的M1卡的唯一序列号
yewuyi 发表于 2013-5-14 10:06 | 显示全部楼层
国防大学 发表于 2013-5-14 10:02
怎么不能自己做??????????????
我已经用STC单片机实现了读身份*UID,现在想移植到PIC上
3 ...

3楼只是用了一个语气助词来强调这个事情的严重性,并无攻击意味,别人回帖的答案不满意可以不看,但不要带情绪。


另外,你这个问题应当发到其它版面去,本版面不提供关于STC的技术支持。
又一个暑假 发表于 2015-11-25 17:23 | 显示全部楼层
国防大学 发表于 2013-5-14 10:02
怎么不能自己做??????????????
我已经用STC单片机实现了读身份*UID,现在想移植到PIC上
3 ...

楼主请我这样配置可以吗?
  1. else if (type == 'B')
  2.    {
  3.        ClearBitMask(RegControl,0x08);

  4.        WriteRawRC(RegClockQControl,0x0);
  5.        WriteRawRC(RegClockQControl,0x40);              //0x3f, Q时钟控制
  6.        Delay_50us(2);  
  7.        ClearBitMask(RegClockQControl,0x40);
  8.       
  9.        WriteRawRC(RegTxControl,0x4b);                         //0x4b, 13.56MHz
  10.        WriteRawRC(RegCwConductance,0x17);                         //0x3f, 设置输出驱动的电导系数
  11.        WriteRawRC(RegModConductance,0x06);                 //0x06, 幅移键控ASk 12%      
  12.        WriteRawRC(RegCoderControl,0x20);          //0x20, TypeB,波特率106kbps, NRZ编码
  13.        WriteRawRC(RegModWidth,0x13);            
  14.        WriteRawRC(RegModWidthSOF,0x3F);         
  15.        WriteRawRC(RegTypeBFraming,0x3B);          //0x23, 定义ISO14443B帧格式
  16.       
  17.        WriteRawRC(RegRxControl1,0x73);
  18.        WriteRawRC(RegDecoderControl,0x19);
  19.        WriteRawRC(RegBitPhase,0xAD);       
  20.        WriteRawRC(RegRxThreshold,0x88);         //0x44, 可接收的最小信号强度
  21.        WriteRawRC(RegBPSKDemControl,0x7E);        //0x3e, 忽略EOF,打开高通滤波
  22.        WriteRawRC(RegRxControl2,0x01);

  23.        WriteRawRC(RegRxWait,0x06);                //0x06, 设置接收延时
  24.        WriteRawRC(RegChannelRedundancy,0x2C);      //0x2c, TypeB接收冗余校验   
  25.        WriteRawRC(RegCRCPresetLSB,0xFF);         //0xff, CRC预设值
  26.        WriteRawRC(RegCRCPresetMSB,0xFF);
  27.        WriteRawRC(RegTimeSlotPeriod,0x00);
  28.        WriteRawRC(RegMfOutSelect,0x00);
  29.        WriteRawRC(RFU27,0x00);                

  30.        WriteRawRC(RegFIFOLevel,0x3F);
  31.        WriteRawRC(RegTimerClock,0x07);
  32.        WriteRawRC(RegTimerReload,0x0A);
  33.        WriteRawRC(RegTimerControl,0x06);  
  34.        WriteRawRC(RegIRqPinConfig,0x02);      
  35.        WriteRawRC(RFU2E,0x00);
  36.        WriteRawRC(RFU2F,0x00);
  37.        PcdSetTmo(106);
  38.        DelayMs(1);
  39.        PcdAntennaOn();
林子旅 发表于 2016-7-27 18:19 | 显示全部楼层
又一个暑假 发表于 2015-11-25 17:23
楼主请我这样配置可以吗?

你可以读出身份*的序列号了吗?我可以读出M1卡的,读不出身份*的卡号
又一个暑假 发表于 2016-12-14 14:53 | 显示全部楼层
林子旅 发表于 2016-7-27 18:19
你可以读出身份*的序列号了吗?我可以读出M1卡的,读不出身份*的卡号

读不出来啊,我最近在搞522读不卡型号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

54

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部