Advertisement
MartinSRB

[НРС] Вежбе 12 - Задатак 1

Apr 6th, 2023
440
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | Source Code | 0 0
  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. #include<data.h>
  8.  
  9. extern serial Serial;
  10.  
  11. #define LD8 33
  12. #define LD2 27
  13. #define SW2 7
  14.  
  15. int blink_task1,
  16.     blink_task2,
  17.     blink_task3;
  18.  
  19. void turn_LD8(int id, void* tptr){
  20.     digitalWrite(LD8, !digitalRead(LD8));
  21. }
  22.  
  23. void turn_LD2(int id, void* tptr){
  24.     digitalWrite(LD2, !digitalRead(LD2));
  25. }
  26.  
  27. void check_SW2(int id, void* tptr){
  28.     if(digitalRead(SW2) && getTaskState(blink_task2) == TASK_DISABLE){
  29.         int randomInterval = random(25, 250);
  30.         setTaskPeriod(blink_task2, randomInterval);
  31.         setTaskState(blink_task2, TASK_ENABLE);
  32.     }else if(!digitalRead(SW2) && getTaskState(blink_task2) == TASK_ENABLE){
  33.         setTaskState(blink_task2, TASK_DISABLE);
  34.         digitalWrite(LD2, LOW); // za slucaj da smo pritisnuli bas dok je bio upaljena
  35.     }
  36. }
  37.  
  38. void setup()
  39. {
  40.     pinMode(LD2, OUTPUT);
  41.     pinMode(LD8, OUTPUT);
  42.     pinMode(SW2, INPUT);
  43.     blink_task1 = createTask(turn_LD8, 500, TASK_ENABLE, NULL);
  44.     blink_task2 = createTask(turn_LD2, 25 , TASK_DISABLE, NULL);
  45.     blink_task3 = createTask(check_SW2, 100, TASK_ENABLE, NULL);
  46. }
  47.  
  48. void loop()
  49. {
  50.  
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement