Advertisement
RuiViana

Ensaio_Threads

Jul 8th, 2016
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.72 KB | None | 0 0
  1. #include <Thread.h>                         // Bibioteca das threads
  2. #include <ThreadController.h>               // Bibioteca de controle das threads    
  3. Thread LedA = Thread();                     // Define thread de
  4. Thread LedB = Thread();                     // Define thread
  5. unsigned long TempoA = 0;                   // Variavel para medir tempo
  6. unsigned long TempoB = 0;                   // Variavel para medir tempo
  7. ThreadController groupOfThreads = ThreadController();
  8. //-------------------------------------
  9. void setup()
  10. {
  11.   Serial.begin(9600);                       // Habilita serial a 9600
  12.   LedA.enabled = true;                      // Habilita o uso do Thread LedA
  13.   LedA.setInterval(10);                     // Thread de 10 ms para
  14.   LedA.onRun(LigaLedA);                     // Executa função
  15.  
  16.   LedB.enabled = true;                      // Habilita o uso do Thread LedB
  17.   LedB.setInterval(10);                     // Thread de 10 ms para
  18.   LedB.onRun(LigaLedB);                     // Executa função de
  19.  
  20.   pinMode(11, OUTPUT);                      // Led A
  21.   pinMode(12, OUTPUT);                      // Led B
  22.   TempoA = millis();                        // Tempo do Led A
  23.   TempoB = millis();                        // Tempo do Led A
  24. }
  25. //--------------------------------------
  26. void loop()
  27. {
  28.   if (LedA.shouldRun())                     // Se deve executar função Conta_Tempo()
  29.     LedA.run();                             // Execute função Conta_Tempo(
  30.   if (LedB.shouldRun())                     // Se deve executar função Le_Moedeiro()
  31.     LedB.run();                             // Execute função Le_Moedeiro()
  32. }
  33. //--------------------------------------
  34. void LigaLedA()
  35. {
  36.   Serial.println("TempoA1 " + String(millis() - TempoA));                     // Imprimi entrada na funcao A
  37.   digitalWrite(12, LOW);                                                      // Acende Led A
  38.   delay(500);                                                                 // Delay
  39.   digitalWrite(12, HIGH);                                                     // Apaga Led A
  40.   delay(500);                                                                 // Delay
  41. }
  42. //--------------------------------------
  43. void LigaLedB()
  44. {
  45.   Serial.println("TempoB1 " + String(millis() - TempoB));                     // Imprimi entrada na funcao A
  46.   digitalWrite(11, LOW);                                                      // Acende Led B
  47.   delay(500);                                                                 // Delay
  48.   digitalWrite(11, HIGH);                                                     // Acende Led B
  49.   delay(500);                                                                 // Delay
  50.   Serial.println("");
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement