aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2012-04-09 17:57:05 +0000
committerDimitri Sokolyuk <demon@dim13.org>2012-04-09 17:57:05 +0000
commitf482011b93210ee4dde3762d8f766bc350e3ab10 (patch)
tree9a2c7e03de887e6d6418bac701a19f7e54340627 /kernel/kernel.c
parent5dcff90c06486a62495b223e48e2693df02381c6 (diff)
use actual timer value for nexthit event
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c
index e7f571c..ab7d466 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -114,13 +114,14 @@ ISR(TIMER1_COMPA_vect, ISR_NAKED)
/* if none is ready, go idle */
if (TAILQ_EMPTY(rq))
TAILQ_INSERT_TAIL(kern.idle->rq, kern.idle, r_link);
-
- OCR1A = now + nexthit;
/* switch context */
kern.cur->sp = SP;
kern.cur = TAILQ_FIRST(rq);
SP = kern.cur->sp;
+
+ /* set timer */
+ OCR1A = TCNT1 + nexthit;
popa();
reti();