mirror of
https://github.com/PaulStoffregen/Tlc5940
synced 2025-06-27 02:17:53 +02:00
29 lines
1.2 KiB
C
29 lines
1.2 KiB
C
#ifndef TLC_pin_functions_h
|
|
#define TLC_pin_functions_h
|
|
|
|
#if defined(__AVR__)
|
|
#define pulse_pin(port, pin) port |= _BV(pin); port &= ~_BV(pin)
|
|
#define set_pin(port, pin) port |= _BV(pin)
|
|
#define clear_pin(port, pin) port &= ~_BV(pin)
|
|
#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)
|
|
#define pullup_pin(ddr, port, pin) pinMode(pin, INPUT_PULLUP)
|
|
#else
|
|
#define pulse_pin(port, pin) digitalWrite(pin, HIGH); digitalWrite(pin, LOW)
|
|
#define set_pin(port, pin) digitalWrite(pin, HIGH)
|
|
#define clear_pin(port, pin) digitalWrite(pin, LOW)
|
|
#define output_pin(ddr, pin) pinMode(pin, OUTPUT)
|
|
#define pullup_pin(ddr, port, pin) pinMode(pin, INPUT_PULLUP)
|
|
#endif
|
|
|
|
#endif
|