I am using a TIMER1 overflow interrupt,
I have written a quick code to test to see if i can update a variable with the interrupt as its being checked by a while statement.
#include "TimerOne.h"
byte FLAG = 0;
void setup()
{
Serial.begin(9600);
pinMode(6, OUTPUT);
Timer1.initialize(1000000);
Timer1.attachInterrupt(callback);
Timer1.stop();
}
void callback()
{
digitalWrite(6, HIGH);
delay(10);
digitalWrite(6, LOW);
FLAG = 1;
Timer1.stop();
}
void loop()
{
Serial.println("SEND MESSAGE");
Timer1.start();
Serial.println("RECEIVING");
while(FLAG == 0);
FLAG = 0;
delay(10000);
}
It doesn't notice the interrupt change in the FLAG status with : while(FLAG == 0);
It does notice the flag change however if i put something in the while loop to check eg:
while(FLAG ==0){
Serial.println(FLAG, DEC);
}
Does anyone know why this is happening?
Doesn't " while(FLAG == 0);" continuously check the state of FLAG anyways?