mohamed nourdine
/
RFID_RC522
cd
Fork of test_rc522 by
main.cpp@1:0ed1c151ad16, 2018-06-04 (annotated)
- Committer:
- ndine985
- Date:
- Mon Jun 04 07:53:30 2018 +0000
- Revision:
- 1:0ed1c151ad16
- Parent:
- 0:161f7fa5a879
Pr
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mavix14 | 0:161f7fa5a879 | 1 | |
mavix14 | 0:161f7fa5a879 | 2 | //---------------------------------------- |
ndine985 | 1:0ed1c151ad16 | 3 | // RFID IRQ = pin8 -> Non utilisé. Laissez ouvert |
ndine985 | 1:0ed1c151ad16 | 4 | // RFID MISO = pin6 -> Nucleo SPI_MISO = PA_6 = D12 |
ndine985 | 1:0ed1c151ad16 | 5 | // RFID MOSI = pin5 -> Nucleo SPI_MOSI = PA_7 = D11 |
ndine985 | 1:0ed1c151ad16 | 6 | // RFID SCK = pin7 -> Nucleo SPI_SCK = PA_5 = D13 |
ndine985 | 1:0ed1c151ad16 | 7 | // RFID SDA = pin18 -> Nucleo SPI_CS = PB_6 = D10 |
ndine985 | 1:0ed1c151ad16 | 8 | // RFID RST = pin16 -> Nucleo = PA_9 = D8 |
ndine985 | 1:0ed1c151ad16 | 9 | |
mavix14 | 0:161f7fa5a879 | 10 | |
mavix14 | 0:161f7fa5a879 | 11 | #include "mbed.h" |
mavix14 | 0:161f7fa5a879 | 12 | #include "MFRC522.h" |
mavix14 | 0:161f7fa5a879 | 13 | |
ndine985 | 1:0ed1c151ad16 | 14 | // Nucleo Pin pour réinitialisation MFRC522 (D8 autre D si utiliser) |
ndine985 | 1:0ed1c151ad16 | 15 | |
ndine985 | 1:0ed1c151ad16 | 16 | #define SPI_MOSI p5 |
ndine985 | 1:0ed1c151ad16 | 17 | #define SPI_MISO p6 |
ndine985 | 1:0ed1c151ad16 | 18 | #define SPI_SCK p7 |
ndine985 | 1:0ed1c151ad16 | 19 | #define SPI_CS p18 |
ndine985 | 1:0ed1c151ad16 | 20 | #define MF_RESET p16 |
ndine985 | 1:0ed1c151ad16 | 21 | |
mavix14 | 0:161f7fa5a879 | 22 | |
mavix14 | 0:161f7fa5a879 | 23 | DigitalOut LedGreen(LED1); |
mavix14 | 0:161f7fa5a879 | 24 | |
ndine985 | 1:0ed1c151ad16 | 25 | //Connexion série au PC pour la sortie |
ndine985 | 1:0ed1c151ad16 | 26 | Serial pc(USBTX, USBRX); |
mavix14 | 0:161f7fa5a879 | 27 | |
mavix14 | 0:161f7fa5a879 | 28 | MFRC522 RfChip (SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS, MF_RESET); |
mavix14 | 0:161f7fa5a879 | 29 | |
mavix14 | 0:161f7fa5a879 | 30 | int main(void) { |
mavix14 | 0:161f7fa5a879 | 31 | pc.printf("starting...\n"); |
mavix14 | 0:161f7fa5a879 | 32 | |
mavix14 | 0:161f7fa5a879 | 33 | // Init. RC522 Chip |
mavix14 | 0:161f7fa5a879 | 34 | RfChip.PCD_Init(); |
mavix14 | 0:161f7fa5a879 | 35 | |
mavix14 | 0:161f7fa5a879 | 36 | while (true) { |
mavix14 | 0:161f7fa5a879 | 37 | LedGreen = 1; |
mavix14 | 0:161f7fa5a879 | 38 | // Look for new cards |
mavix14 | 0:161f7fa5a879 | 39 | if ( ! RfChip.PICC_IsNewCardPresent()) |
mavix14 | 0:161f7fa5a879 | 40 | { |
mavix14 | 0:161f7fa5a879 | 41 | |
mavix14 | 0:161f7fa5a879 | 42 | wait_ms(500); |
mavix14 | 0:161f7fa5a879 | 43 | continue; |
mavix14 | 0:161f7fa5a879 | 44 | } |
mavix14 | 0:161f7fa5a879 | 45 | |
mavix14 | 0:161f7fa5a879 | 46 | // Select one of the cards |
mavix14 | 0:161f7fa5a879 | 47 | if ( ! RfChip.PICC_ReadCardSerial()) |
mavix14 | 0:161f7fa5a879 | 48 | { |
mavix14 | 0:161f7fa5a879 | 49 | pc.printf("Rien"); |
mavix14 | 0:161f7fa5a879 | 50 | wait_ms(500); |
mavix14 | 0:161f7fa5a879 | 51 | continue; |
mavix14 | 0:161f7fa5a879 | 52 | } |
mavix14 | 0:161f7fa5a879 | 53 | |
mavix14 | 0:161f7fa5a879 | 54 | LedGreen = 0; |
mavix14 | 0:161f7fa5a879 | 55 | |
ndine985 | 1:0ed1c151ad16 | 56 | // Print ID de la Card |
ndine985 | 1:0ed1c151ad16 | 57 | pc.printf("Card ID: "); |
mavix14 | 0:161f7fa5a879 | 58 | for (uint8_t i = 0; i < RfChip.uid.size; i++) |
mavix14 | 0:161f7fa5a879 | 59 | { |
mavix14 | 0:161f7fa5a879 | 60 | pc.printf(" %X02", RfChip.uid.uidByte[i]); |
mavix14 | 0:161f7fa5a879 | 61 | } |
mavix14 | 0:161f7fa5a879 | 62 | pc.printf("\n\r"); |
mavix14 | 0:161f7fa5a879 | 63 | |
ndine985 | 1:0ed1c151ad16 | 64 | // Print type de Card |
mavix14 | 0:161f7fa5a879 | 65 | uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); |
mavix14 | 0:161f7fa5a879 | 66 | pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); |
mavix14 | 0:161f7fa5a879 | 67 | wait_ms(1000); |
mavix14 | 0:161f7fa5a879 | 68 | } |
mavix14 | 0:161f7fa5a879 | 69 | } |