aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2014-01-24 21:29:41 +0100
committerJakob Odersky <jodersky@gmail.com>2014-01-24 21:29:41 +0100
commit9a10159e96a13585f9040ac5b15a3520f3d93ec8 (patch)
tree751501e9aded6c99d45691610add0a4973844aa9
parenta42aaab687c8dde3de2650070893d698a911e041 (diff)
downloadmux-9a10159e96a13585f9040ac5b15a3520f3d93ec8.tar.gz
mux-9a10159e96a13585f9040ac5b15a3520f3d93ec8.tar.bz2
mux-9a10159e96a13585f9040ac5b15a3520f3d93ec8.zip
make timer depend on HZ define
-rw-r--r--kernel/time/include/time/timer.h2
-rw-r--r--kernel/time/mcu/atmega2560/timer.c6
-rw-r--r--main.c8
3 files changed, 9 insertions, 7 deletions
diff --git a/kernel/time/include/time/timer.h b/kernel/time/include/time/timer.h
index e59e374..1fa64d5 100644
--- a/kernel/time/include/time/timer.h
+++ b/kernel/time/include/time/timer.h
@@ -1,7 +1,7 @@
#ifndef TIMER_H
#define TIMER_H
-#define HZ 100
+#define HZ 10
void timer_init();
void timer_start();
diff --git a/kernel/time/mcu/atmega2560/timer.c b/kernel/time/mcu/atmega2560/timer.c
index 663df02..e3ab6eb 100644
--- a/kernel/time/mcu/atmega2560/timer.c
+++ b/kernel/time/mcu/atmega2560/timer.c
@@ -10,7 +10,9 @@ void timer_init() {
TCCR3B = (1 << WGM32); // turn on CTC mode:
TCCR3B |= (1 << CS32) | (0 << CS31) | (1 << CS30); // set to 1024 prescaler
- OCR3A = 770;
+
+ unsigned int hz_counter = F_CPU / (2 * 1024 * HZ) - 1;
+ OCR3A = hz_counter;
sei();
}
@@ -23,7 +25,7 @@ void timer_stop() {
}
ISR(TIMER3_COMPA_vect, ISR_NAKED) {
- SAVE_CONTEXT();
+ SAVE_CONTEXT();
sched_tick();
sei();
RESTORE_CONTEXT();
diff --git a/main.c b/main.c
index ca27358..e9fc28e 100644
--- a/main.c
+++ b/main.c
@@ -10,11 +10,11 @@
void blink( char id) {
while(1) {
debug_led(id,1);
- yield();
- WAIT_CYCLES(5000);
+ //yield();
+ WAIT_CYCLES(50000);
debug_led(id,0);
- yield();
- WAIT_CYCLES(5000);
+ //yield();
+ WAIT_CYCLES(50000);
}
}