dorian diana
/
RFID2
ER
main.cpp@0:91f18ae471f0, 2021-06-09 (annotated)
- Committer:
- dorian06
- Date:
- Wed Jun 09 12:26:11 2021 +0000
- Revision:
- 0:91f18ae471f0
ER2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dorian06 | 0:91f18ae471f0 | 1 | #include "mbed.h" |
dorian06 | 0:91f18ae471f0 | 2 | #include "MFRC522.h" |
dorian06 | 0:91f18ae471f0 | 3 | |
dorian06 | 0:91f18ae471f0 | 4 | //KL25Z Pins for MFRC522 SPI interface |
dorian06 | 0:91f18ae471f0 | 5 | #define SPI_MOSI p5 |
dorian06 | 0:91f18ae471f0 | 6 | #define SPI_MISO p6 |
dorian06 | 0:91f18ae471f0 | 7 | #define SPI_SCLK p7 |
dorian06 | 0:91f18ae471f0 | 8 | #define SPI_CS p16 |
dorian06 | 0:91f18ae471f0 | 9 | // KL25Z Pin for MFRC522 reset |
dorian06 | 0:91f18ae471f0 | 10 | #define MF_RESET p8 |
dorian06 | 0:91f18ae471f0 | 11 | void fct(void); |
dorian06 | 0:91f18ae471f0 | 12 | Ticker T1; |
dorian06 | 0:91f18ae471f0 | 13 | DigitalOut LedRed (LED1); |
dorian06 | 0:91f18ae471f0 | 14 | DigitalOut LedGreen (LED2); |
dorian06 | 0:91f18ae471f0 | 15 | MFRC522 RfChip (SPI_MOSI, SPI_MISO, SPI_SCLK,SPI_CS,MF_RESET); |
dorian06 | 0:91f18ae471f0 | 16 | int main() |
dorian06 | 0:91f18ae471f0 | 17 | { |
dorian06 | 0:91f18ae471f0 | 18 | RfChip.PCD_Init(); |
dorian06 | 0:91f18ae471f0 | 19 | T1.attach(&fct,0.2); |
dorian06 | 0:91f18ae471f0 | 20 | while(1) { |
dorian06 | 0:91f18ae471f0 | 21 | wait_ms(200); |
dorian06 | 0:91f18ae471f0 | 22 | } |
dorian06 | 0:91f18ae471f0 | 23 | } |
dorian06 | 0:91f18ae471f0 | 24 | void fct(void){ |
dorian06 | 0:91f18ae471f0 | 25 | if ( RfChip.PICC_IsNewCardPresent()) { |
dorian06 | 0:91f18ae471f0 | 26 | if(RfChip.PICC_ReadCardSerial()) { |
dorian06 | 0:91f18ae471f0 | 27 | LedRed = 1; |
dorian06 | 0:91f18ae471f0 | 28 | LedGreen = 0; |
dorian06 | 0:91f18ae471f0 | 29 | printf("Card UID: "); |
dorian06 | 0:91f18ae471f0 | 30 | // Print Card UID |
dorian06 | 0:91f18ae471f0 | 31 | for (uint8_t i = 0; i < RfChip.uid.size; i++) { |
dorian06 | 0:91f18ae471f0 | 32 | printf(" %02X", RfChip.uid.uidByte[i]); |
dorian06 | 0:91f18ae471f0 | 33 | } |
dorian06 | 0:91f18ae471f0 | 34 | printf("\n\r"); |
dorian06 | 0:91f18ae471f0 | 35 | |
dorian06 | 0:91f18ae471f0 | 36 | // Print Card type |
dorian06 | 0:91f18ae471f0 | 37 | uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); |
dorian06 | 0:91f18ae471f0 | 38 | printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); |
dorian06 | 0:91f18ae471f0 | 39 | wait_ms(500); |
dorian06 | 0:91f18ae471f0 | 40 | |
dorian06 | 0:91f18ae471f0 | 41 | } |
dorian06 | 0:91f18ae471f0 | 42 | } |
dorian06 | 0:91f18ae471f0 | 43 | } |
dorian06 | 0:91f18ae471f0 | 44 |