Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "TimerOne.h"
- volatile unsigned int tempo = 1;
- volatile unsigned int tempo2 = 1;
- unsigned int Duracao1 = 3; // pretendo 60, mas para testar e nao esperar muito pus 3
- unsigned int Duracao2 = 5; // pretendo 60, mas para testar e nao esperar muito pus 5
- byte Flag = 0;
- //---------------------------------
- void setup()
- {
- Serial.begin(9600);
- pinMode(13, OUTPUT);
- digitalWrite(13, LOW);
- Timer1.initialize(1000000); // initialize timer1, and set a 1 second period
- Timer1.attachInterrupt(callback); // attaches callback() as a timer overflow interrupt
- }
- //--------------------------------------
- void callback()
- {
- tempo++;
- tempo2++;
- Flag = 0;
- }
- //--------------------------------------
- void loop()
- {
- if (tempo <= Duracao1)
- {
- if (Flag == 0)
- {
- Serial.println("Start");
- Flag = 1;
- }
- tempo2 = 0;
- }
- else
- {
- if (tempo2 <= Duracao2)
- {
- if (Flag == 0)
- {
- Serial.println("Stop");
- Flag = 1;
- }
- }
- if (tempo2 > Duracao2)
- tempo = 0;
- }
- }
- // com o led, nao se nota o que pretendo... substituindo pelo Serial.println(),
- //o que pretendia era que a mensagem surgi-se a cada 1 segundo... e o que acontece é
- //que surge muito rápido... como posso por a aparecer a mensagem (sem usar delay())
- //com frequencia de 1 segundo?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement