project van rtos
Dependencies: mbed-os
Fork of MFRC522 by
Diff: main.cpp
- Revision:
- 3:80837b470692
- Parent:
- 2:c719944e080b
- Child:
- 4:325954591d0f
diff -r c719944e080b -r 80837b470692 main.cpp --- a/main.cpp Wed May 02 12:06:27 2018 +0000 +++ b/main.cpp Tue May 08 12:52:09 2018 +0000 @@ -20,19 +20,252 @@ 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 - //DebugUART.baud(115200); + //pc.baud(115200); // Init. RC522 Chip RfChip.PCD_Init(); + + dg0 = 0; + dg1 = 0; + dg2 = 0; + dg3 = 0; while (true) { - led = 0; + led = 0; + + displayNumber7Seg(a0.read()); + + //printf("%0.4f \n\r", a0.read()); // Look for new cards - if ( ! RfChip.PICC_IsNewCardPresent()) + /*if ( ! RfChip.PICC_IsNewCardPresent()) { wait_ms(500); continue; @@ -58,5 +291,10 @@ uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak); pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType)); wait_ms(1000); - } + }*/ +} } + + + +