TVZ2019 / Mbed 2 deprecated Semafor

Dependencies:   mbed

Committer:
petracar
Date:
Sat Nov 16 11:03:15 2019 +0000
Revision:
0:9f18a15996c8
Semafor za aute i pjesake

Who changed what in which revision?

UserRevisionLine numberNew contents of line
petracar 0:9f18a15996c8 1 #include "mbed.h"
petracar 0:9f18a15996c8 2 #include "semafor.h"
petracar 0:9f18a15996c8 3
petracar 0:9f18a15996c8 4 Traffic crveno (p7);
petracar 0:9f18a15996c8 5 Traffic zuto (p6);
petracar 0:9f18a15996c8 6 Traffic zeleno (p5);
petracar 0:9f18a15996c8 7 Traffic zeleno_p (p20);
petracar 0:9f18a15996c8 8 Traffic crveno_p (p19);
petracar 0:9f18a15996c8 9 InterruptIn tipkalo(p8);
petracar 0:9f18a15996c8 10 Ticker tik1;
petracar 0:9f18a15996c8 11
petracar 0:9f18a15996c8 12 int t=0,p;
petracar 0:9f18a15996c8 13
petracar 0:9f18a15996c8 14 void tiker1(){
petracar 0:9f18a15996c8 15 t=t+1;
petracar 0:9f18a15996c8 16 }
petracar 0:9f18a15996c8 17
petracar 0:9f18a15996c8 18 void pjesaci(){
petracar 0:9f18a15996c8 19 p=1;
petracar 0:9f18a15996c8 20 }
petracar 0:9f18a15996c8 21
petracar 0:9f18a15996c8 22 void semafor2(){
petracar 0:9f18a15996c8 23 if(t>=0 && t<200)
petracar 0:9f18a15996c8 24 zeleno.light_on(t, 0, 200);
petracar 0:9f18a15996c8 25 crveno_p.light_on(t, 0, 400);
petracar 0:9f18a15996c8 26 if(t>=200 && t<400)
petracar 0:9f18a15996c8 27 zuto.light_on(t, 200, 400);
petracar 0:9f18a15996c8 28 if(t>=400 && t<700){
petracar 0:9f18a15996c8 29 crveno.light_on(t, 400, 700);
petracar 0:9f18a15996c8 30 zeleno_p.light_on(t, 400, 500);}
petracar 0:9f18a15996c8 31 if(t>=600 && t<700)
petracar 0:9f18a15996c8 32 zuto.light_on(t,600, 700);
petracar 0:9f18a15996c8 33 if (t>=500)
petracar 0:9f18a15996c8 34 crveno_p.light_on(t,500,700);
petracar 0:9f18a15996c8 35 }
petracar 0:9f18a15996c8 36
petracar 0:9f18a15996c8 37 int main(){
petracar 0:9f18a15996c8 38 tik1.attach(&tiker1, 0.01);
petracar 0:9f18a15996c8 39 while(1){
petracar 0:9f18a15996c8 40 if(p!=1)
petracar 0:9f18a15996c8 41 t=0;
petracar 0:9f18a15996c8 42 zeleno.light_on(t, 0, 1);
petracar 0:9f18a15996c8 43 crveno_p.light_on(t, 0, 1);
petracar 0:9f18a15996c8 44 tipkalo.fall(&pjesaci);
petracar 0:9f18a15996c8 45 if(p==1 && t<700)
petracar 0:9f18a15996c8 46 semafor2();
petracar 0:9f18a15996c8 47 if(p==1 && t>700){
petracar 0:9f18a15996c8 48 t=0;
petracar 0:9f18a15996c8 49 p=0;
petracar 0:9f18a15996c8 50 }
petracar 0:9f18a15996c8 51 }
petracar 0:9f18a15996c8 52 }