MartinSRB

[НРС] Вежбе 13 - Задатак 1 - начин #1

Apr 7th, 2023
991
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 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 LD1 26
  12. #define SW1 2
  13. #define SW2 7
  14.  
  15. int blink_task_id;
  16.  
  17. bool sw1_pressed = false,
  18.      sw2_pressed = false;
  19.  
  20. void blink_task1(int id, void* ptrt){
  21.     digitalWrite(LD1, !digitalRead(LD1));
  22. }
  23.  
  24. void prekidac1(int id, void* ptrt){
  25.     if(digitalRead(SW1) && !sw1_pressed){
  26.         setTaskState(blink_task_id, TASK_ENABLE);
  27.         sw1_pressed = true;
  28.         Serial.println("SWITCH 2 upravo pritisnut ON");
  29.     }else if(!digitalRead(SW1) && sw1_pressed){
  30.         setTaskState(blink_task_id, TASK_DISABLE);
  31.         sw1_pressed = false;
  32.         Serial.println("SWITCH 2 upravo pritisnut OFF");
  33.         if(digitalRead(LD1)){
  34.             digitalWrite(LD1, LOW);
  35.         }
  36.     }
  37. }
  38.  
  39. void prekidac2(int id, void* ptrt){
  40.     if(digitalRead(SW2) && !sw2_pressed){
  41.         setTaskPeriod(blink_task_id, 1000);
  42.         sw2_pressed = true;
  43.         Serial.println("SWITCH 7 upravo pritisnut(1000ms)");
  44.     }else if(!digitalRead(SW2) && sw2_pressed){
  45.         setTaskPeriod(blink_task_id, 100);
  46.         sw2_pressed = false;
  47.         Serial.println("SWITCH 7 upravo pritisnut(100ms)");
  48.     }
  49. }
  50.  
  51. void setup()
  52. {
  53.     pinMode(LD1, OUTPUT);
  54.     pinMode(SW1, INPUT);
  55.     pinMode(SW2, INPUT);
  56.     blink_task_id = createTask(blink_task1, 100, TASK_DISABLE, NULL);
  57.     createTask(prekidac1, 50, TASK_ENABLE, NULL);
  58.     createTask(prekidac2, 50, TASK_ENABLE, NULL);
  59. }
  60.  
  61. void loop()
  62. {
  63.  
  64. }
  65.  
Advertisement
Add Comment
Please, Sign In to add comment