MartinSRB

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

Apr 6th, 2023 (edited)
485
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 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 SW1 2
  13. #define SW2 7
  14. #define SW3 8
  15. #define SW4 35
  16.  
  17. int blink_task1,
  18.     blink_task2;
  19.  
  20. void turn_LD8(int id, void* ptrt){
  21.     digitalWrite(LD8, !digitalRead(LD8));
  22. }
  23.  
  24. void check_SWs(int id, void* ptrt){
  25.     int intervalPeriod = 100 + (digitalRead(SW1) + digitalRead(SW2) + digitalRead(SW3) + digitalRead(SW4)) * 100;
  26.     if(getTaskPeriod(blink_task1) != intervalPeriod){
  27.         setTaskPeriod(blink_task1, intervalPeriod);
  28.     }
  29. }
  30.  
  31. void setup()
  32. {
  33.     pinMode(LD8, OUTPUT);
  34.     pinMode(SW1, INPUT);
  35.     pinMode(SW2, INPUT);
  36.     pinMode(SW3, INPUT);
  37.     pinMode(SW4, INPUT);
  38.     blink_task1 = createTask(turn_LD8, 100, TASK_ENABLE, NULL);
  39.     blink_task2 = createTask(check_SWs, 1000, TASK_ENABLE, NULL);
  40. }
  41.  
  42. void loop()
  43. {
  44.  
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment