![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Digital Assingment
Dependencies: mbed
main.cpp
- Committer:
- ParinyaT
- Date:
- 2015-11-03
- Revision:
- 0:ee737038184c
File content as of revision 0:ee737038184c:
#include "mbed.h" Serial pc(D8,D3); BusOut Seg1(D4,D5,D6,D7); BusOut Seg2(D9,D10,D11,D12); AnalogIn Voltage(A0); int main() { uint8_t state_menu=0; uint8_t state_show=0; uint8_t state_exit =0; uint8_t data; int num[5]; int i=0; pc.printf("Wellcome !\n"); while(1) { if(state_show == 0) { pc.printf("Menu\n"); pc.printf("1.Sending Numbers \n"); pc.printf("2.Voltage Indicator\n"); state_show =1; } if(pc.readable()) { data = pc.getc(); pc.printf("\n"); state_show =0; state_exit =0; switch(data) { case '1': do { if(state_menu == 0) { pc.printf("Sending Numbers\n"); pc.printf("Please send the number 00-99 \n Or press x to exit\n\n"); state_menu = 1; } do { num[i] = pc.getc(); if(num[i]=='x'){ state_exit = 1; } wait_ms(50); i++; } while(pc.readable()); if(i>=2) { Seg1 = num[i-2]-48; Seg2 = num[i-1]-48; state_menu = 0; i=0; } } while(state_exit ==0); Seg1 = 0; Seg2 = 0; pc.printf("\n\n"); break; case '2': do { if(state_menu == 0) { pc.printf("Logic Input Test\n\n"); float Volt; Volt = Voltage.read(); pc.printf("Voltage is %f volts\n",Volt*3.3); pc.printf("press x to exit or else to remesure\n\n"); state_menu = 1; } if(pc.readable()) { data = pc.getc(); if (data == 'x') state_exit = 1; else state_menu = 0; } } while(state_exit ==0); pc.printf("\n\n"); break; case 0x00: break; default: pc.printf("plz select 1 or 2 only\n"); pc.printf("\n\n"); break; } } } }