From 38b63ddbddca3dff53e95da739e23aa4bbc86170 Mon Sep 17 00:00:00 2001 From: Michael Mandl Date: Fri, 24 Feb 2017 21:46:29 +0100 Subject: [PATCH] Added central hardware info and functions --- Hardware.h | 6 ++++++ hardware.cpp | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Hardware.h create mode 100644 hardware.cpp diff --git a/Hardware.h b/Hardware.h new file mode 100644 index 0000000..f05f570 --- /dev/null +++ b/Hardware.h @@ -0,0 +1,6 @@ +#pragma once + +#define F_CPU 1000000 + +void delay_ms(double delay); +void delay_us(double delay); \ No newline at end of file diff --git a/hardware.cpp b/hardware.cpp new file mode 100644 index 0000000..4a23f67 --- /dev/null +++ b/hardware.cpp @@ -0,0 +1,34 @@ +#include "hardware.h" +#include "avr/io.h" + +void delay_ms(double delay) +{ + // prescaler: 1024 + TCCR0B = (1 << CS02) | (1 << CS00); + TCNT0 = 0; + + while (TCNT0 <= delay) + { + if (TCNT0 >= 49) + { + delay -= 50; + TCNT0 = 0; + } + } +} + +void delay_us(double delay) +{ + // prescaler: 1 + TCCR0B = (1 << CS00); + TCNT0 = 0; + + while (TCNT0 <= delay) + { + if (TCNT0 >= 50) + { + delay -= 50; + TCNT0 = 0; + } + } +}