summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--timer_irq/timer_irq.ino31
1 files changed, 31 insertions, 0 deletions
diff --git a/timer_irq/timer_irq.ino b/timer_irq/timer_irq.ino
new file mode 100644
index 0000000..f42428e
--- /dev/null
+++ b/timer_irq/timer_irq.ino
@@ -0,0 +1,31 @@
+
+boolean toggle;
+
+ISR(TIMER1_COMPA_vect) // Timer Interrupt Routine
+{
+ if (toggle) {
+ digitalWrite(13, HIGH);
+ toggle = 0;
+ } else {
+ digitalWrite(13, LOW);
+ toggle = 1;
+ }
+}
+
+void setup()
+{
+ pinMode(13, OUTPUT);
+ cli(); // interrupts ausschalten
+ // Timer1 für 1 Hz konfigurieren
+ TCCR1A = 0;
+ TCCR1B = 0;
+ OCR1A = 15624; // (16 MHz / 1024) -1
+ TCCR1B |= (1 << WGM12); // CTC Modus
+ TCCR1B |= (1 << CS12)|(1 << CS10); // Prescaler auf 1024
+ TIMSK1 |= (1 << OCIE1A); // Timer Compare Interupt anschalten
+ sei(); // interrupts anschalten
+}
+
+void loop() {
+ // hier ist nix
+}