Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 //Test of cheap 13.56 Mhz RFID-RC522 module from eBay 00002 //This code is based on Martin Olejar's MFRC522 library. Minimal changes 00003 //Adapted for Nucleo STM32 F401RE. Should work on other Nucleos too 00004 00005 //Connect as follows: 00006 //RFID pins -> Nucleo header CN5 (Arduino-compatible header) 00007 //---------------------------------------- 00008 //RFID IRQ=pin5 -> Not used. Leave open 00009 //RFID MISO=pin4 -> Nucleo SPI_MISO=PA_6=D12 00010 //RFID MOSI=pin3 -> Nucleo SPI_MOSI=PA_7=D11 00011 //RFID SCK=pin2 -> Nucleo SPI_SCK =PA_5=D13 00012 //RFID SDA=pin1 -> Nucleo SPI_CS =PB_6=D10 00013 //RFID RST=pin7 -> Nucleo =PA_9=D8 00014 //3.3V and Gnd to the respective pins 00015 00016 #include "mbed.h" 00017 #include "MFRC522.h" 00018 00019 // Nucleo Pin for MFRC522 reset (pick another D pin if you need D8) 00020 #define MF_RESET D9 00021 00022 DigitalOut LedGreen(LED1); 00023 00024 //Serial connection to PC for output 00025 Serial pc(SERIAL_TX, SERIAL_RX); 00026 00027 MFRC522 RfChip (SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS, MF_RESET); 00028 00029 int main(void) { 00030 pc.printf("starting...\n"); 00031 00032 // Init. RC522 Chip 00033 RfChip.PCD_Init(); 00034 00035 while (true) { 00036 LedGreen = 1; 00037 00038 // Look for new cards 00039 if ( ! RfChip.PICC_IsNewCardPresent()) 00040 { 00041 wait_ms(500); 00042 continue; 00043 } 00044 00045 // Select one of the cards 00046 if ( ! RfChip.PICC_ReadCardSerial()) 00047 { 00048 wait_ms(500); 00049 continue; 00050 } 00051 00052 LedGreen = 0; 00053 00054 // Print Card UID 00055 pc.printf("Card UID: "); 00056 for (uint8_t i = 0; i < RfChip.uid.size; i++) 00057 { 00058 pc.printf(" %X02", RfChip.uid.uidByte[i]); 00059 } 00060 pc.printf("\n\r"); 00061 00062 // Print Card type 00063 uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); 00064 pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); 00065 wait_ms(1000); 00066 } 00067 }
Generated on Wed Jul 27 2022 04:32:41 by
