Advertisement
dusanrs

zadatak31

May 22nd, 2022
149
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. int blink1_id,prekidac_id1,staro_stanje,novo_stanje2,staro_stanje2,prekidac_id2;
  11.  
  12. void blink_task1(int n,void *tptr){
  13.     digitalWrite(26,!digitalRead(26));
  14.  
  15. }
  16.  
  17.  
  18. void prekidac1(int n,void *tptr){
  19.     int novo_stanje=digitalRead(2); // kada dodje do pritiska prekidaca dobijamo novo stanje
  20.  
  21.     if(staro_stanje==0 && novo_stanje==1) {
  22.             setTaskState(blink1_id,TASK_ENABLE); // u koliko je doslo do pritiska prekidaca moze da radi task 1
  23.             digitalWrite(26,HIGH);
  24.     }
  25.     else if(staro_stanje==1 && novo_stanje==0) {
  26.             setTaskState(blink1_id,TASK_DISABLE); // u koliko nije onda ne moze
  27.             digitalWrite(26,LOW);
  28.     }
  29.  
  30.     staro_stanje=novo_stanje; // kada sledeci put stisnemo dugme da se vidi ako je doslo do promene stanja
  31.  
  32. }
  33.  
  34. void prekidac2(int n,void *tptr){
  35.     int novo_stanje2=digitalRead(7); // kada dodje do pritiska prekidaca dobijamo novo stanje
  36.  
  37.     if(staro_stanje2==0 && novo_stanje2==1) {
  38.             setTaskPeriod(blink1_id,1000);
  39.     }
  40.     else if(staro_stanje2==1 && novo_stanje2==0) {
  41.             setTaskPeriod(blink1_id,100);
  42.     }
  43.  
  44.     staro_stanje2=novo_stanje2; // kada sledeci put stisnemo dugme da se vidi ako je doslo do promene stanja
  45.  
  46.  
  47.  
  48. }
  49.  
  50.  
  51.  
  52. void setup()
  53. {
  54.    staro_stanje=digitalRead(2); // staro stanje na prekidacu
  55.    staro_stanje2=digitalRead(7);
  56.    pinMode(26,OUTPUT);
  57.    blink1_id=createTask(blink_task1,100,TASK_DISABLE,NULL);
  58.    prekidac_id1=createTask(prekidac1,50,TASK_ENABLE,NULL);
  59.    prekidac_id2=createTask(prekidac2,50,TASK_ENABLE,NULL);
  60. }
  61.  
  62. void loop()
  63. {
  64.  
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement