summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2008-03-02 22:30:34 +0100
committerNicolas Schodet2008-03-02 22:30:34 +0100
commitb8e14afe490abb4816e3d3f09b0bbdaa53963c19 (patch)
tree94e34418221855a979b94f7ee2084f9a2dff7491
parente1f7db670b2e5aab68073fe2192f228debd4c78a (diff)
* digital/avr/modules/utils:
- added utils_nop.
-rw-r--r--digital/avr/modules/utils/utils.avr.h7
-rw-r--r--digital/avr/modules/utils/utils.host.h7
2 files changed, 14 insertions, 0 deletions
diff --git a/digital/avr/modules/utils/utils.avr.h b/digital/avr/modules/utils/utils.avr.h
index bdba7f6f..dc794ac8 100644
--- a/digital/avr/modules/utils/utils.avr.h
+++ b/digital/avr/modules/utils/utils.avr.h
@@ -43,6 +43,13 @@
| (v3) << 3 | (v2) << 2 | (v1) << 1 | (v0) << 0 \
: -1024 * 1024)
+/** No-operation, one instruction delay. */
+extern inline void
+utils_nop (void)
+{
+ asm volatile ("nop" : :);
+}
+
/** Delay in seconds. Do not call this function with a variable parameter.
* If you want a variable delay, prefer looping over a fixed delay.
* Maximum is about 4 seconds at 20MHz. */
diff --git a/digital/avr/modules/utils/utils.host.h b/digital/avr/modules/utils/utils.host.h
index 2e73dc4b..2caae8fa 100644
--- a/digital/avr/modules/utils/utils.host.h
+++ b/digital/avr/modules/utils/utils.host.h
@@ -25,6 +25,13 @@
*
* }}} */
+/** No-operation, one instruction delay. */
+extern inline void
+utils_nop (void)
+{
+ /* Nothing. */
+}
+
/** Delay in seconds. */
void
utils_delay (double s);