From 044b716102bd1db192d2701013faa31945814afe Mon Sep 17 00:00:00 2001 From: PaulStoffregen Date: Sun, 8 Jun 2014 15:34:11 -0700 Subject: [PATCH] Fix for bitbang I/O at higher clock speeds --- pinouts/pin_functions.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pinouts/pin_functions.h b/pinouts/pin_functions.h index 52ea0f3..223c93b 100644 --- a/pinouts/pin_functions.h +++ b/pinouts/pin_functions.h @@ -8,7 +8,11 @@ #define output_pin(ddr, pin) ddr |= _BV(pin) #define pullup_pin(ddr, port, pin) ddr &= ~_BV(pin); port |= _BV(pin) #elif defined(TEENSYDUINO) + #if F_CPU > 48000000 + #define pulse_pin(port, pin) digitalWriteFast(pin, HIGH); asm("nop"); digitalWriteFast(pin, LOW) + #else #define pulse_pin(port, pin) digitalWriteFast(pin, HIGH); digitalWriteFast(pin, LOW) + #endif #define set_pin(port, pin) digitalWriteFast(pin, HIGH) #define clear_pin(port, pin) digitalWriteFast(pin, LOW) #define output_pin(ddr, pin) pinMode(pin, OUTPUT)