diff --git a/src/RS485.cpp b/src/RS485.cpp index 2f018e7..0444b93 100644 --- a/src/RS485.cpp +++ b/src/RS485.cpp @@ -166,4 +166,12 @@ void RS485Class::setPins(int txPin, int dePin, int rePin) _rePin = rePin; } +#if defined(CONTROLLINO_MAXI) || defined(CONTROLLINO_MEGA) +RS485Class RS485(SERIAL_PORT_HARDWARE3, CONTROLLINO_RS485_TX, CONTROLLINO_RS485_DE, CONTROLLINO_RS485_nRE); +#elif defined(__AVR_ATmega2560__) +RS485Class RS485(Serial3, RS485_TX_PIN, RS485_DE_PIN, RS485_nRE_PIN); +#elif defined(__AVR_ATmega328P__) +RS485Class RS485(Serial, RS485_TX_PIN, RS485_DE_PIN, RS485_nRE_PIN); +#else RS485Class RS485(SERIAL_PORT_HARDWARE, RS485_DEFAULT_TX_PIN, RS485_DEFAULT_DE_PIN, RS485_DEFAULT_RE_PIN); +#endif diff --git a/src/RS485.h b/src/RS485.h index 24b976f..47cf15f 100644 --- a/src/RS485.h +++ b/src/RS485.h @@ -22,6 +22,20 @@ #include +#if defined(CONTROLLINO_MAXI) || defined(CONTROLLINO_MEGA) +#include +#endif + +#if defined(__AVR_ATmega2560__) + #define RS485_DE_PIN 21 + #define RS485_nRE_PIN 20 + #define RS485_TX_PIN 14 +#elif defined(__AVR_ATmega328P__) + #define RS485_DE_PIN 3 + #define RS485_nRE_PIN 2 + #define RS485_TX_PIN 1 +#endif + #ifdef PIN_SERIAL1_TX #define RS485_DEFAULT_TX_PIN PIN_SERIAL1_TX #else