请教FM1702无法读卡的原因?(附RFID资料,给需要的人)

2020-02-05 09:21发布

程序运行到1702初始化的时候有一句
        while((temp = SPIRead(Command)) != 0)                        /* 等待Command = 0,FM1702复位成功 */
        {
        ;//        _nop_();
        }
然后程序就卡住了。SPIRead()貌似每次都不为零,有几种可能的原因呢?
软件是直接从别的地方移植过来的,我只修改了管脚定义而已。莫非硬件有问题?

还有就是请教一下
unsigned char SPIRead(char reg_ad)
{   char temp;
    RF_SCK=0;
     _nop_();
     _nop_();
    RF_NSS=0;
    reg_ad <<= 1;
    reg_ad |= 0x80;
    spi_byte_transceive(reg_ad);
    temp=spi_byte_transceive(0x00);
    RF_NSS=1;
    return (temp);
}

void SPIWrite(char reg_ad,char reg_data)
{   
    RF_SCK=0;
    reg_ad <<= 1;
    RF_NSS=0;
    reg_ad &= 0x7F;
    spi_byte_transceive(reg_ad);
    spi_byte_transceive(reg_data);
    RF_NSS=1;
    return;
}

在上面两个函数中,为什么reg_ad要进行变换?
请大家多多来鄙视吧。
附我现在用的刷卡机程序和图纸。

刷卡程序使用STC12C5A60S和KEILV4,FM1702NLourdev_573191.rar(文件大小:99K) (原文件名:刷卡程序使用STC12C5A60S和KEILV4.rar)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
29条回答
hnzjc
1楼-- · 2020-02-07 22:37
 精彩回答 2  元偷偷看……
lmldai
2楼-- · 2020-02-08 01:24
谢谢~
pkjapan
3楼-- · 2020-02-08 07:12
谢谢楼主无私精神
sunnydragon
4楼-- · 2020-02-08 11:25
哥们,你的出现的的那个复位不成功的问题,是什么原因,是怎么解决的?我也出现这个问题,望多多指点!
lyi619
5楼-- · 2020-02-08 12:23
回复【22楼】sunnydragon
-----------------------------------------------------------------------

怎么不见你在线啊?加你后也不见问了,我调出来了,但是程序很冗余,是由一个汇编自己改过来的。程序现在的问题是只能执行一次,循环第二次就卡在防冲突环节,不知道怎么回事,在考虑呢,弄好了,我发到我上次那个贴上,你下一份看看。
chenwei1919
6楼-- · 2020-02-08 12:41
 精彩回答 2  元偷偷看……

一周热门 更多>