Fix for bitbang I/O at higher clock speeds

This commit is contained in:
PaulStoffregen 2014-06-08 15:34:11 -07:00
parent 03bdbd60bb
commit 044b716102

View File

@ -8,7 +8,11 @@
#define output_pin(ddr, pin) ddr |= _BV(pin) #define output_pin(ddr, pin) ddr |= _BV(pin)
#define pullup_pin(ddr, port, pin) ddr &= ~_BV(pin); port |= _BV(pin) #define pullup_pin(ddr, port, pin) ddr &= ~_BV(pin); port |= _BV(pin)
#elif defined(TEENSYDUINO) #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) #define pulse_pin(port, pin) digitalWriteFast(pin, HIGH); digitalWriteFast(pin, LOW)
#endif
#define set_pin(port, pin) digitalWriteFast(pin, HIGH) #define set_pin(port, pin) digitalWriteFast(pin, HIGH)
#define clear_pin(port, pin) digitalWriteFast(pin, LOW) #define clear_pin(port, pin) digitalWriteFast(pin, LOW)
#define output_pin(ddr, pin) pinMode(pin, OUTPUT) #define output_pin(ddr, pin) pinMode(pin, OUTPUT)