Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<arduinoPlatform.h>
- #include<tasks.h>
- #include<interrupts.h>
- #include<stdio.h>
- #include<serial.h>
- #include<pwm.h>
- extern serial Serial;
- #define pin 26
- int staro_st; // staro stanje signala
- int vr_period; // vr period koji je signal bio upaljen
- int pocetno_vr; // vreme kada se upalio signal
- int proteklo_vr; // koliko je bio dugo upaljen signal
- void brojevi(int id,void *tptr){
- static int first = true; //da se preskoci prvi interval
- int novo_st=digitalRead(pin); //cita novo stanje sa pina
- if(staro_st==1 && novo_st==0){ //ako je bio ukljucen pa se ugasi
- proteklo_vr=millis()-pocetno_vr; // proteklo vreme ->od trenutka kad je program pocetao da se izvrsava-pocetno vre
- }else if(staro_st==0 && novo_st==1){ // ako se upalio blink
- int vreme=millis(); // meri vreme od ovog momenta
- vr_period=vreme-pocetno_vr; //
- pocetno_vr=vreme;
- if(!first){ // da moze da preskoci prvi interval
- Serial.print(proteklo_vr); // ispisuje proteklo vreme koliko je signal bio upaljen
- Serial.print(' ');
- Serial.println(vr_period); // period koliko dugo je signal bio upaljen
- }
- first=false; //da moze da ispisuje
- }
- staro_st=novo_st; // staro stanje postaje novo
- }
- void setup()
- {
- Serial.begin(9600);
- pwmRandom(pin,2000);
- staro_st=digitalRead(pin);
- pocetno_vr=millis();
- proteklo_vr=0;
- vr_period=0;
- createTask(brojevi,1,TASK_ENABLE,NULL);
- }
- void loop()
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement