RC522和Arduino Mega2560之间的SPI通信问​​题

时间:2019-05-14 04:40:38

标签: arduino rfid spi

现在我正在做一个项目,其中包括通过SPI通信将RC522 RFID模块与Arduino Mega2560一起使用。我决定使用MFRC522库(https://github.com/miguelbalboa/rfid),并首先通过内置示例(rfid_read_user_data.ino,https://github.com/miguelbalboa/rfid/blob/master/examples/rfid_read_personal_data/rfid_read_personal_data.ino)进行尝试。但是,RC522模块不会对Arduino做出任何回应,无论它是否已扫描RFID卡。

P.S。 1 .my Arduino Mega2560是“兼容/可剥夺”的,而不是真正的Arduino开发板。

  1. 打开电源后,我可能不小心触摸了MacBook的金属表面上的Arduino(我的Arduino没有后盖),但是之后看来还可以,并且仍然可以运行代码。

RC522到Arduino的接线是

RESET-9

SDA(SS)-10(我相应地更改了代码中的RESET和SDA定义)

MOSI-51

MISO-50

SCK-52

要调试此类问题,我尝试了以下操作:

  1. 使用同一程序与Arduino Uno(原装)配合使用,并且按预期方式工作-我使用的RC522模块和卡没有损坏。

  2. 将SPI通信频率降低SPI.beginTransaction(SPISettings(27120000,MSBFIRST,SPI_MODE0));,因为RC522可能无法赶上Mega2560的速度–运气不好。 (27120000是基于RC522模块上的晶体振荡频率)

  3. 将MOSI,MISO,SCK从数字引脚更改为ICSP引脚-不走运。

  4. 开机后将SS(从站)(引脚53)设置为OUTPUT-没运气。

  5. 将MOSI和MISO反向,因为有人说在某些Arduino剥离板上,UART上的TX和RX可以颠倒,而在SPI上可能是相同的情况-没运气。

现在我担心我的Arduino受到电损坏,但这仍然是软件问题吗?

P.S.S。 Arduino上的Mega2560 MCU通电后感觉很热(但不很热)。这是电气损坏的迹象吗?由于某些兼容MCS-51的MCU可能会变得很热且无法正常运行,但在短路后仍可运行代码。

0 个答案:

没有答案