LV6_Grupa7_Tim010_Zadatak1_EnsarSarajcic_AdmiraHusic

Dependencies:   mbed

main.cpp

Committer:
pai2015admirahusic
Date:
2015-04-09
Revision:
0:fc01ae272930

File content as of revision 0:fc01ae272930:

#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)
    {}
   
}