Advertisement
RuiViana

DB_Ver2

Jun 26th, 2016
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. #include "TimerOne.h"
  2. volatile unsigned int tempo = 1;
  3. volatile unsigned int tempo2 = 1;
  4. unsigned int Duracao1 = 3;                // pretendo 60, mas para testar e nao esperar muito pus 3
  5. unsigned int Duracao2 = 5;                // pretendo 60, mas para testar e nao esperar muito pus 5
  6. byte Flag = 0;
  7. //---------------------------------
  8. void setup()
  9. {
  10.   Serial.begin(9600);
  11.   pinMode(13, OUTPUT);
  12.   digitalWrite(13, LOW);
  13.   Timer1.initialize(1000000);         // initialize timer1, and set a 1 second period
  14.   Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt
  15. }
  16. //--------------------------------------
  17. void callback()
  18. {
  19.   tempo++;
  20.   tempo2++;
  21.   Flag = 0;
  22. }
  23. //--------------------------------------
  24. void loop()
  25. {
  26.   if (tempo <= Duracao1)
  27.   {
  28.     if (Flag == 0)
  29.     {
  30.       Serial.println("Start");
  31.       Flag = 1;
  32.     }
  33.     tempo2 = 0;
  34.   }
  35.   else
  36.   {
  37.     if (tempo2 <= Duracao2)
  38.     {
  39.       if (Flag == 0)
  40.       {
  41.         Serial.println("Stop");
  42.         Flag = 1;
  43.       }
  44.     }
  45.     if (tempo2 > Duracao2)
  46.       tempo = 0;
  47.   }
  48. }
  49.  
  50. // com o led, nao se nota o que pretendo... substituindo pelo Serial.println(),
  51. //o que pretendia era que a mensagem surgi-se a cada 1 segundo... e o que acontece é
  52. //que surge muito rápido... como posso por a aparecer a mensagem (sem usar delay())
  53. //com frequencia de 1 segundo?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement