]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/timer.c
Version 0.6.8.1
[z180-stamp.git] / avr / timer.c
index e222e68792fa8d89527c9942b91cb638cbeae81f..1b1598540f82090c3dbe56e7610e33280342734e 100644 (file)
@@ -1,22 +1,23 @@
 /*
+ * (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
+ *
+ * SPDX-License-Identifier:    GPL-2.0
  */
 
-#include "common.h"
+#include "timer.h"
 #include <avr/interrupt.h>
 #include <util/atomic.h>
 #include "time.h"
-#include "timer.h"
 
 /* timer interrupt/overflow counter */
 /* counts up every ms. */
 static volatile
 uint32_t timestamp;
 
-/*---------------------------------------------------------*/
-/* 1000Hz timer interrupt generated by OC3A                */
-/*---------------------------------------------------------*/
-
-ISR(TIMER3_COMPA_vect)
+/*
+ * 1000Hz timer interrupt generated by OC4A
+ */
+ISR(TIMER4_COMPA_vect)
 {
        static int_fast8_t tick_10ms;
        static int_fast8_t tick_1s;
@@ -24,6 +25,8 @@ ISR(TIMER3_COMPA_vect)
 
        extern void disk_timerproc(void);
 
+       OCR4A += F_CPU / 1000;  /* 1000Hz interval */
+
        timestamp++;
 
        i = tick_10ms + 1;
@@ -45,24 +48,6 @@ ISR(TIMER3_COMPA_vect)
 }
 
 
-/*--------------------------------------------------------------------------*/
-
-#if 0
-void timer_setup(void)
-{
-
-       /* Clock */
-       CLKPR = _BV(CLKPCE);
-       CLKPR = 0;
-
-       /* Timer */
-
-       OCR1A = F_CPU / 1000 - 1; // Timer1: 1000Hz interval (OC1A)
-       TCCR1B = 0b00001001;
-       TIMSK1 = _BV(OCIE1A); // Enable TC1.oca interrupt
-}
-#endif
-
 /*--------------------------------------------------------------------------*/
 
 uint32_t get_timer(uint32_t base)