Amer Ratković Amela Špica
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 00003 int niz_brojeva[10]={1,79,18,6,76,36,32,15,0,4}; 00004 DigitalOut redni_br_cifre[3]={dp23,dp24,dp25}; 00005 DigitalOut dec_zarez(dp17); 00006 00007 InterruptIn onoff(dp1), restart(dp2); 00008 00009 BusOut cifra(dp18, dp4, dp28, dp6, dp5, dp27, dp26); 00010 Ticker idemo; 00011 int cifra123=0; 00012 Timer timer_vrijeme; 00013 Timer timer_on_off; 00014 Timer timer_reset; 00015 00016 float vrijeme(0); 00017 bool provjera(true); 00018 00019 00020 void ispis() 00021 { 00022 vrijeme = timer_vrijeme.read(); 00023 int prva_cifra=int(vrijeme) /10; 00024 int druga_cifra=(int)(vrijeme) %10; 00025 int treca_cifra=(int)(vrijeme*10) %10; 00026 00027 switch(cifra123) 00028 { 00029 case 0: 00030 cifra=niz_brojeva[prva_cifra]; 00031 redni_br_cifre[0]=0; 00032 redni_br_cifre[1]=1; 00033 redni_br_cifre[2]=1; 00034 break; 00035 case 1: 00036 cifra=niz_brojeva[druga_cifra]; 00037 redni_br_cifre[0]=1; 00038 redni_br_cifre[1]=0; 00039 redni_br_cifre[2]=1; 00040 break; 00041 case 2: 00042 cifra=niz_brojeva[treca_cifra]; 00043 redni_br_cifre[0]=1; 00044 redni_br_cifre[1]=1; 00045 redni_br_cifre[2]=0; 00046 break; 00047 } 00048 cifra123++; 00049 if(cifra123==3) 00050 cifra123=0; 00051 00052 } 00053 00054 void pomocna(int cif, int tacka, int br) 00055 { 00056 00057 dec_zarez=tacka; 00058 cifra=niz_brojeva[cif]; 00059 redni_br_cifre[br]=0; 00060 dec_zarez=!tacka; 00061 } 00062 00063 void on_off() 00064 { 00065 if(timer_on_off.read_ms() > 200) 00066 { 00067 if(provjera==true) timer_vrijeme.stop(); 00068 else timer_vrijeme.start(); 00069 provjera = !provjera; 00070 00071 } 00072 timer_on_off.reset(); 00073 00074 } 00075 00076 00077 void resett() 00078 { 00079 if(timer_reset.read_ms() > 200) 00080 { 00081 00082 provjera = false; 00083 timer_vrijeme.reset(); 00084 timer_vrijeme.stop(); 00085 } 00086 timer_reset.reset(); 00087 } 00088 00089 00090 00091 00092 int main() 00093 { 00094 00095 timer_vrijeme.reset(); 00096 timer_vrijeme.start(); 00097 timer_on_off.start(); 00098 timer_reset.start(); 00099 onoff.rise(&on_off); 00100 restart.rise(&resett); 00101 idemo.attach(&ispis, 0.001); 00102 00103 while(1) 00104 {} 00105 00106 }
Generated on Tue Aug 23 2022 11:00:38 by
1.7.2