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 p8 00021 00022 DigitalOut LedGreen(p24); 00023 00024 //Serial connection to PC for output 00025 Serial pc(p9, p10); 00026 00027 MFRC522 RfChip (p11, p12, p13, p14, MF_RESET); 00028 00029 int main(void) { 00030 pc.baud(9600); 00031 00032 pc.printf("starting...\n"); 00033 00034 wait(1); 00035 00036 // Init. RC522 Chip 00037 RfChip.PCD_Init(); 00038 00039 while (true) { 00040 LedGreen = 1; 00041 00042 // Look for new cards 00043 if ( ! RfChip.PICC_IsNewCardPresent()) 00044 { 00045 wait_ms(500); 00046 continue; 00047 } 00048 00049 // Select one of the cards 00050 if ( ! RfChip.PICC_ReadCardSerial()) 00051 { 00052 wait_ms(500); 00053 continue; 00054 } 00055 00056 LedGreen = 0; 00057 00058 // Print Card UID 00059 pc.printf("Card UID: "); 00060 for (uint8_t i = 0; i < RfChip.uid.size; i++) 00061 { 00062 pc.printf(" %X02", RfChip.uid.uidByte[i]); 00063 } 00064 pc.printf("\n\r"); 00065 00066 // Print Card type 00067 uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); 00068 pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); 00069 wait_ms(1000); 00070 } 00071 }
Generated on Sat Jul 16 2022 19:53:18 by
1.7.2