Hallo,
bin gerade ein wenig am Probieren mit einem Timer Interrupt, also zuerst einmal genau wie hier beschrieben:
http://playground.arduino.cc/Deutsch/HalloWeltMitInterruptUndTimerlibrary
Wenn ich den Code im wesentlichen 1:1 übernehme dann blinkt die LED wie erwartet:
#include "TimerOne.h"
int ledpin=13;
int alle_x_sekunden=1;
void setup() {
pinMode(ledpin, OUTPUT);
Timer1.initialize(alle_x_sekunden*1000000);
Timer1.attachInterrupt(isr);
}
void isr() {
digitalWrite(ledpin, digitalRead(ledpin) ^ 1);
}
void loop() {
}
Wird der Code jedoch etwas verändert dann flackert die LED sehr viel schneller, nur warum?
#include "TimerOne.h"
int ledpin=13;
int hundertstel_sekunden=100;
void setup() {
pinMode(ledpin, OUTPUT);
Timer1.initialize(hundertstel_sekunden*10000);
Timer1.attachInterrupt(isr);
}
void isr() {
digitalWrite(ledpin, digitalRead(ledpin) ^ 1);
}
void loop() {
}
Ich meine 1x1000000 ist doch völlig identisch mit 100x10000...
Interesanterweise geht es wieder wenn ich statt
int hundertstel_sekunden=100;
long hundertstel_sekunden=100;
verwende. Aber warum ist das so?? Die Zahl 100 geht doch "locker" mit Integer... ???
Christian