这个问题纯纯硬件问题。跟软件半毛钱关系没有,一点关系都没有!!!!
首先遇到问题的前辈请先检测一下是不是每个引脚都按要求(手册)正确连接了,我用的是7条接口的。(本人所用程序,接口根据程序定义不同)
sbit MF522_RST = P1^4; //RC500片选
sbit MF522_NSS = P1^2;
sbit MF522_SCK = P1^1;
sbit MF522_SI = P1^0;
sbit MF522_SO = P1^3;
外加电源和接地。其中NSS就是SDA。确保正确接线后,我每次第一次可以正确识别M1卡,然后就不行了,复位也不太管用,真TNND。后来,尝试了换RC522模块还是不行。最后,我想是不是电源不够,毕竟我用的普中51开发板,蜂鸣器接口靠近显示屏,用蜂鸣器的时候显示屏乱码(也是醉了)。于是我把3.3v换成5v。然后就成了。
总结:要么线没有接正确,要么电源不够。