|
|
@ -63,13 +63,14 @@ |
|
|
|
GPIO_BITBAND(CORE_PIN ## P ## _DDRREG , CORE_PIN ## P ## _BIT) = 1; \ |
|
|
|
}while(0) |
|
|
|
|
|
|
|
//#define _PULLUP(IO,V) { pinMode(IO, (v!=LOW ? INPUT_PULLUP : INPUT)); }
|
|
|
|
#define _SET_INPUT_PULLUP(P) do{ \ |
|
|
|
CORE_PIN ## P ## _CONFIG = PORT_PCR_MUX(1) | PORT_PCR_PE | PORT_PCR_PS; \ |
|
|
|
GPIO_BITBAND(CORE_PIN ## P ## _DDRREG , CORE_PIN ## P ## _BIT) = 0; \ |
|
|
|
}while(0) |
|
|
|
|
|
|
|
#define _GET_INPUT(P) ((CORE_PIN ## P ## _DDRREG & CORE_PIN ## P ## _BITMASK) == 0) |
|
|
|
#define _GET_OUTPUT(P) ((CORE_PIN ## P ## _DDRREG & CORE_PIN ## P ## _BITMASK) == 0) |
|
|
|
|
|
|
|
//#define _GET_TIMER(IO)
|
|
|
|
|
|
|
|
#define READ(IO) _READ(IO) |
|
|
|
|
|
|
|
#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V) |
|
|
@ -77,7 +78,7 @@ |
|
|
|
#define TOGGLE(IO) _TOGGLE(IO) |
|
|
|
|
|
|
|
#define SET_INPUT(IO) _SET_INPUT(IO) |
|
|
|
#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _WRITE(IO,HIGH); }while(0) |
|
|
|
#define SET_INPUT_PULLUP(IO) _SET_INPUT_PULLUP(IO) |
|
|
|
#define SET_OUTPUT(IO) _SET_OUTPUT(IO) |
|
|
|
|
|
|
|
#define GET_INPUT(IO) _GET_INPUT(IO) |
|
|
|