From c927f32a735e1600cf6b50a315d204963cf5877e Mon Sep 17 00:00:00 2001 From: schodet Date: Sun, 2 Apr 2006 10:12:11 +0000 Subject: Ajout de UTILS_MIN et UTILS_MAX. Corrections de timings dans utils_delay. --- n/avr/modules/utils/utils.avr.h | 4 ++-- n/avr/modules/utils/utils.h | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/n/avr/modules/utils/utils.avr.h b/n/avr/modules/utils/utils.avr.h index 8338d96..bdba7f6 100644 --- a/n/avr/modules/utils/utils.avr.h +++ b/n/avr/modules/utils/utils.avr.h @@ -70,12 +70,12 @@ utils_delay (double s) } else if (cycles <= 255 * 3) { - uint8_t i = cycles; + uint8_t i = cycles / 3; asm volatile ("1: dec %0\n\tbrne 1b" : "=r" (i) : "0" (i)); } else if (cycles <= 65535 * 4) { - uint16_t i = cycles; + uint16_t i = cycles / 4; asm volatile ("1: sbiw %0,1\n\tbrne 1b" : "=w" (i) : "0" (i)); } else diff --git a/n/avr/modules/utils/utils.h b/n/avr/modules/utils/utils.h index 5a58f4b..6301505 100644 --- a/n/avr/modules/utils/utils.h +++ b/n/avr/modules/utils/utils.h @@ -67,6 +67,12 @@ utils_delay_ms (double ms) v = max; \ } while (0) +/** Return maximum of two values. */ +#define UTILS_MAX(a, b) ((a) > (b) ? (a) : (b)) + +/** Return minimum of two values. */ +#define UTILS_MIN(a, b) ((a) < (b) ? (a) : (b)) + /** Absolute value. */ #define UTILS_ABS(v) ((v) > 0 ? (v) : -(v)) -- cgit v1.2.3