![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
project van rtos
Dependencies: mbed-os
Fork of MFRC522 by
main.cpp
- Committer:
- Onon
- Date:
- 2018-05-08
- Revision:
- 3:80837b470692
- Parent:
- 2:c719944e080b
- Child:
- 4:325954591d0f
File content as of revision 3:80837b470692:
#include "mbed.h" #include "MFRC522.h" //KL25Z Pins for MFRC522 SPI interface #define SPI_MOSI p5 #define SPI_MISO p6 #define SPI_SCLK p7 #define SPI_CS p9 // KL25Z Pin for MFRC522 reset #define MF_RESET p8 /** // KL25Z Pins for Debug UART port #define UART_RX gnd #define UART_TX gnd Serial DebugUART(UART_TX, UART_RX); **/ MFRC522 RfChip(SPI_MOSI, SPI_MISO, SPI_SCLK, SPI_CS, MF_RESET); Serial pc(USBTX, USBRX); DigitalOut led(LED1); DigitalOut dg0(p27); DigitalOut dg1(p28); DigitalOut dg2(p29); DigitalOut dg3(p30); DigitalOut da(p26); DigitalOut db(p25); DigitalOut dc(p24); DigitalOut dd(p23); DigitalOut de(p22); DigitalOut df(p21); DigitalOut dg(p19); DigitalOut ddp(p18); AnalogIn a0(p20); int sevenSeg; void light7Seg(int nr, int output) { da = 0; db = 0; dc = 0; dd = 0; de = 0; df = 0; dg = 0; ddp = 0; dg0 = 1; dg1 = 1; dg2 = 1; dg3 = 1; switch(output) { case 0: dg0 = 0; break; case 1: dg1 = 0; break; case 2: dg2 = 0; break; case 3: dg3 = 0; ddp = 1; break; default: break; } switch(nr) { case 0: da = 1; db = 1; dc = 1; dd = 1; de = 1; df = 1; dg = 0; break; case 1: da = 0; db = 1; dc = 1; dd = 0; de = 0; df = 0; dg = 0; break; case 2: da = 1; db = 1; dc = 0; dd = 1; de = 1; df = 0; dg = 1; break; case 3: da = 1; db = 1; dc = 1; dd = 1; de = 0; df = 0; dg = 1; break; case 4: da = 0; db = 1; dc = 1; dd = 0; de = 0; df = 1; dg = 1; break; case 5: da = 1; db = 0; dc = 1; dd = 1; de = 0; df = 1; dg = 1; break; case 6: da = 1; db = 0; dc = 1; dd = 1; de = 1; df = 1; dg = 1; break; case 7: da = 1; db = 1; dc = 1; dd = 0; de = 0; df = 0; dg = 0; break; case 8: da = 1; db = 1; dc = 1; dd = 1; de = 1; df = 1; dg = 1; break; case 9: da = 1; db = 1; dc = 1; dd = 1; de = 0; df = 1; dg = 1; break; case 10: da = 1; db = 1; dc = 1; dd = 0; de = 1; df = 1; dg = 1; break; case 11: da = 0; db = 0; dc = 1; dd = 1; de = 1; df = 1; dg = 1; break; case 12: da = 1; db = 0; dc = 0; dd = 1; de = 1; df = 1; dg = 0; break; case 13: da = 0; db = 1; dc = 1; dd = 1; de = 1; df = 0; dg = 1; break; case 14: da = 1; db = 0; dc = 0; dd = 1; de = 1; df = 1; dg = 1; break; case 15: da = 1; db = 0; dc = 0; dd = 0; de = 1; df = 1; dg = 1; break; default: da = 0; db = 0; dc = 0; dd = 0; de = 0; df = 0; dg = 0; ddp = 0; } } void displayNumber7Seg(float nr) { nr *= 1000; int nrint = (int) nr; int digits[4]; int i = 3; while (nrint > 0) { int digit = nrint % 10; digits[i] = digit; if(i == 0) { break; } i--; nrint /= 10; } for(int i = 0; i < 4; i++) { light7Seg(digits[3-i], i); wait_ms(100/24); //60Hz } } int main(void) { pc.printf("Start"); // Set debug UART speed //pc.baud(115200); // Init. RC522 Chip RfChip.PCD_Init(); dg0 = 0; dg1 = 0; dg2 = 0; dg3 = 0; while (true) { led = 0; displayNumber7Seg(a0.read()); //printf("%0.4f \n\r", a0.read()); // Look for new cards /*if ( ! RfChip.PICC_IsNewCardPresent()) { wait_ms(500); continue; } // Select one of the cards if ( ! RfChip.PICC_ReadCardSerial()) { wait_ms(500); continue; } // Print Card UID pc.printf("Card UID: "); for (uint8_t i = 0; i < RfChip.uid.size; i++) { led = 1; pc.printf(" %X02", RfChip.uid.uidByte[i]); } pc.printf("\n\r"); // Print Card type uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); wait_ms(1000); }*/ } }