Aida Pločo Tarik Demirović
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 00003 DigitalIn Ulaz1(dp9); 00004 DigitalIn Ulaz2(dp10); 00005 DigitalIn Ulaz3(dp11); 00006 DigitalIn Ulaz4(dp13); 00007 DigitalOut Izlaz1(dp2); 00008 DigitalOut Izlaz2(dp1); 00009 DigitalOut Izlaz3(dp28); 00010 DigitalOut Izlaz4(dp6); 00011 00012 Ticker t1; 00013 Timer debounce; 00014 char ispis; 00015 00016 Serial pc(USBTX, USBRX); 00017 00018 char kojiJePritisnut() 00019 { 00020 Izlaz1 = 1; 00021 Izlaz2 = 0; 00022 Izlaz3 = 0; 00023 Izlaz4 = 0; 00024 if(Ulaz1){ 00025 return '1'; 00026 } 00027 if(Ulaz2){ 00028 return '2'; 00029 } 00030 if(Ulaz3){ 00031 return '3'; 00032 } 00033 if(Ulaz4){ 00034 return 'A'; 00035 } 00036 00037 Izlaz1 = 0; 00038 Izlaz2 = 1; 00039 Izlaz3 = 0; 00040 Izlaz4 = 0; 00041 if(Ulaz1){ 00042 return '4'; 00043 } 00044 if(Ulaz2){ 00045 return '5'; 00046 } 00047 if(Ulaz3){ 00048 return '6'; 00049 } 00050 if(Ulaz4){ 00051 return 'B'; 00052 } 00053 00054 Izlaz1 = 0; 00055 Izlaz2 = 0; 00056 Izlaz3 = 1; 00057 Izlaz4 = 0; 00058 if(Ulaz1){ 00059 return '7'; 00060 } 00061 if(Ulaz2){ 00062 return '8'; 00063 } 00064 if(Ulaz3){ 00065 return '9'; 00066 } 00067 if(Ulaz4){ 00068 return 'C'; 00069 } 00070 00071 Izlaz1 = 0; 00072 Izlaz2 = 0; 00073 Izlaz3 = 0; 00074 Izlaz4 = 1; 00075 if(Ulaz1){ 00076 return '\n'; //newline 00077 } 00078 if(Ulaz2){ 00079 return '0'; 00080 } 00081 if(Ulaz3){ 00082 return '#'; 00083 } 00084 if(Ulaz4){ 00085 return 'D'; 00086 } 00087 00088 return 0; 00089 } 00090 00091 void ocitajTast() 00092 { 00093 if(debounce.read_ms() < 200) 00094 return; 00095 00096 ispis = kojiJePritisnut(); 00097 if(ispis == 0) 00098 return; 00099 00100 pc.putc(ispis); 00101 00102 debounce.reset(); 00103 } 00104 00105 int main() { 00106 debounce.start(); 00107 while(1) 00108 ocitajTast(); 00109 }
Generated on Wed Aug 17 2022 21:36:15 by
1.7.2