Buonasera a tutti, non riesco ad usare correttamente i timer con la versione pro mini.
Volevo utilizzare un timer per controllare l'accensione temporizzata di un LED
Il LED deve stare acceso 150ms, e stare spento un tempo che riceve tramite Seriale (valore ASCII*10 ms).
Questo il codice NON funzionante
long time_off;
bool ledState = LOW;
void setup() {
Timer1.initialize(150 * 1000 * 1000); //0.1 time ON
Timer1.attachInterrupt(flash);
Timer1.stop();
void loop(){
byte b;
if (Serial.available() > 0) {
if (first_received_byte) {
first_received_byte = false;
Timer1.start();
}
b= Serial.read();
noInterrupts();
time_off = (int)b*10*1000;
interrupts();
}
}
void burst() {
if ( ledState == LOW) {
ledState = HIGH;
Timer1.stop();
digitalWrite(13,HIGHT);
Timer1.setPeriod(150 * 1000);
Timer1.start();
}
else {
ledState = LOW;
Timer1.stop();
digitalWrite(13,LOW);
Timer1.setPeriod(time_off );
Timer1.start();
}
}
Probabilmente sbaglio qualcosa nello start/stop dei Timer....ma non capisco cosa
Grazie mille