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 MdISO=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 D8 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 // Look for new cards 00038 if ( ! RfChip.PICC_IsNewCardPresent()) 00039 { 00040 00041 wait_ms(500); 00042 continue; 00043 } 00044 00045 // Select one of the cards 00046 if ( ! RfChip.PICC_ReadCardSerial()) 00047 { 00048 pc.printf("Rien"); 00049 wait_ms(500); 00050 continue; 00051 } 00052 00053 LedGreen = 0; 00054 00055 // Print Card UID 00056 pc.printf("Card UID: "); 00057 for (uint8_t i = 0; i < RfChip.uid.size; i++) 00058 { 00059 pc.printf(" %X02", RfChip.uid.uidByte[i]); 00060 } 00061 pc.printf("\n\r"); 00062 00063 // Print Card type 00064 uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); 00065 pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); 00066 wait_ms(1000); 00067 } 00068 }
Generated on Thu Jul 14 2022 17:14:01 by
1.7.2