#define EVENTS_INTERVAL 1000
#define BLINK_ON 100
#define BLINK_OFF 400
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("System Ready");
}
void loop() {
// put your main code here, to run repeatedly:
static uint32_t nextEvent = millis() + EVENTS_INTERVAL;
static int32_t count = 0;
// static __int24 count = 0;
static uint32_t nextBlink = millis() + BLINK_ON;
uint32_t now = millis();
if (nextEvent < now) {
uint32_t countCopy = count;
Serial.print("Count = ");
Serial.println(countCopy);
nextEvent += EVENTS_INTERVAL;
count = 0;
}
count++;
if (nextBlink < now) {
if (digitalRead(LED_BUILTIN)) {
digitalWrite(LED_BUILTIN, LOW);
nextBlink += BLINK_OFF;
}
else {
digitalWrite(LED_BUILTIN, HIGH);
nextBlink += BLINK_ON;
}
}
}