From df3d0c6ce634ede0570fdf7d8107aea2798f9044 Mon Sep 17 00:00:00 2001 From: Inamr Date: Tue, 19 Mar 2024 14:29:57 +0100 Subject: [PATCH] made interrupts as timer --- prosjekt.X/fan speeeed.h | 3 +++ prosjekt.X/fan speeeeeeeed.c | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/prosjekt.X/fan speeeed.h b/prosjekt.X/fan speeeed.h index 110682f..8774e4f 100644 --- a/prosjekt.X/fan speeeed.h +++ b/prosjekt.X/fan speeeed.h @@ -20,6 +20,9 @@ extern "C" { #include #include #include + #include + + int fan_speed(float value); diff --git a/prosjekt.X/fan speeeeeeeed.c b/prosjekt.X/fan speeeeeeeed.c index df71665..f3a8d41 100644 --- a/prosjekt.X/fan speeeeeeeed.c +++ b/prosjekt.X/fan speeeeeeeed.c @@ -2,6 +2,8 @@ #include "fan speeeed.h" int fan_speed(float voltage_value){ + init_millis() + sei(); float fan_speed; float t = 0; float past_time = 0; @@ -9,12 +11,22 @@ int fan_speed(float voltage_value){ int old_value = 0; int f; if (voltage_value > 300 && old_value < 300){ - start_time = millis(); + start_time = init_millis() t =(start_time - past_time); - paste_time = start_time; + past_time = start_time; } voltage_value = old_value; f = ((1/t)*1000); fan_speed = (f*60)/2; return fan_speed; - } \ No newline at end of file + } + +ISR(PORTB_PORT_vect) +{ + static int counter = 0; + if (counter >=5){ + PORTB.OUT ^= 0x0F; + counter = 0; + } + PORTB.INFLAFS = PIN2_bm; +} \ No newline at end of file