summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);