Advertisement
dusanrs

z1

Jun 9th, 2022
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<arduinoPlatform.h>
  2. #include<tasks.h>
  3. #include<interrupts.h>
  4. #include<stdio.h>
  5. #include<serial.h>
  6. #include<pwm.h>
  7.  
  8. extern serial Serial;
  9.  
  10. #define pin 26
  11.  
  12. int staro_st; // staro stanje signala
  13. int vr_period; // vr period koji je signal bio upaljen
  14. int pocetno_vr; // vreme kada se upalio signal
  15. int proteklo_vr; // koliko je bio dugo upaljen signal
  16.  
  17. void brojevi(int id,void *tptr){
  18.  
  19.     static int first = true;  //da se preskoci prvi interval
  20.    
  21.     int novo_st=digitalRead(pin); //cita novo stanje sa pina
  22.    
  23.     if(staro_st==1 && novo_st==0){  //ako je bio ukljucen pa se ugasi
  24.         proteklo_vr=millis()-pocetno_vr; // proteklo vreme ->od trenutka kad je program pocetao da se izvrsava-pocetno vre
  25.     }else if(staro_st==0 && novo_st==1){  // ako se upalio blink
  26.         int vreme=millis();    // meri vreme od ovog momenta  
  27.         vr_period=vreme-pocetno_vr; //
  28.         pocetno_vr=vreme;
  29.     if(!first){ // da moze da preskoci prvi interval
  30.             Serial.print(proteklo_vr); // ispisuje proteklo vreme koliko je signal bio upaljen
  31.             Serial.print(' ');
  32.             Serial.println(vr_period); // period koliko dugo je signal bio upaljen
  33.     }
  34.         first=false; //da moze da ispisuje
  35.     }
  36.     staro_st=novo_st; // staro stanje postaje novo
  37.  
  38. }
  39.  
  40.  
  41.  
  42.  
  43.  
  44. void setup()
  45. {
  46.     Serial.begin(9600);
  47.     pwmRandom(pin,2000);
  48.     staro_st=digitalRead(pin);
  49.     pocetno_vr=millis();
  50.     proteklo_vr=0;
  51.     vr_period=0;
  52.     createTask(brojevi,1,TASK_ENABLE,NULL);
  53. }
  54.  
  55. void loop()
  56. {
  57.  
  58. }
  59.  
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement