Admira Husić
/
LV6_Grupa7_Tim010_Zadatak1
LV6_Grupa7_Tim010_Zadatak1_EnsarSarajcic_AdmiraHusic
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) {} }