LV6_Grupa7_Tim010_Zadatak1_EnsarSarajcic_AdmiraHusic

Dependencies:   mbed

Revision:
0:fc01ae272930
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Apr 09 16:54:33 2015 +0000
@@ -0,0 +1,77 @@
+#include "mbed.h"
+#define dp23 P0_0
+
+int izlazi[]= {64,121,36,48,25,18,2,120,0,16};
+BusOut ledovi(dp26, dp27, dp5, dp6, dp28, dp4, dp18);
+BusOut ukljuci(dp25,dp24,dp23);
+int ukljuciCifre[3]={3,5,6};
+DigitalOut tacka = dp17;
+
+InterruptIn startDugme(dp1), resetDugme(dp2); //tasteri
+int d2 = 0, d3 = 0, d4 = 0;// Vrijednosti na pojedinim displayjima
+
+float ocitajVrijeme(0);
+Ticker tikerIspis;
+Timer timer, timer1, timer2;
+bool pokrenuta(false);
+int indeks=0;
+void ispisNaEkran()// Pisanje cifara na display
+{
+    ukljuci=7;
+    ocitajVrijeme = timer.read();// ocitavamo ciffre u sekundama
+    // Cupamo pojedine cifre iz value
+    d4 = int(ocitajVrijeme / 10); // dobijamo najvisu cifru
+    d3 = int(ocitajVrijeme)  % 10; // dobijamo srednju cifru
+    d2 = int(ocitajVrijeme* 10) % 10; // dobijamo desetinjke
+ 
+ int brojevi[3]={d4,d3,d2};
+ledovi=izlazi[brojevi[indeks]];    
+    ukljuci=ukljuciCifre[indeks];
+
+if(indeks==1) tacka=0; else tacka=1;
+indeks=(indeks+1)%3;
+
+
+
+
+
+}
+
+void startstop()
+{
+    if(timer1.read_ms() > 200)
+    {
+        if(pokrenuta) timer.stop();
+        else timer.start();
+        pokrenuta = !pokrenuta;
+
+    }
+    timer1.reset();
+}
+
+void resetuj()
+{
+    if(timer2.read_ms() > 200)
+    {
+        pokrenuta = false;
+        timer.reset();
+        timer.stop();
+    }
+    timer2.reset();
+
+}
+
+int main()
+{
+
+    timer.reset();
+    timer1.start();
+    timer2.start();
+    startDugme.rise(&startstop);
+    resetDugme.rise(&resetuj);
+    tikerIspis.attach(&ispisNaEkran, 0.001);
+    while(1)
+    {}
+   
+}
+