|
@@ -62,14 +62,15 @@
|
62
|
62
|
CORE_PIN ## P ## _CONFIG = PORT_PCR_MUX(1)|PORT_PCR_SRE|PORT_PCR_DSE; \
|
63
|
63
|
GPIO_BITBAND(CORE_PIN ## P ## _DDRREG , CORE_PIN ## P ## _BIT) = 1; \
|
64
|
64
|
}while(0)
|
65
|
|
-
|
66
|
|
-//#define _PULLUP(IO,V) { pinMode(IO, (v!=LOW ? INPUT_PULLUP : INPUT)); }
|
|
65
|
+
|
|
66
|
+#define _SET_INPUT_PULLUP(P) do{ \
|
|
67
|
+ CORE_PIN ## P ## _CONFIG = PORT_PCR_MUX(1) | PORT_PCR_PE | PORT_PCR_PS; \
|
|
68
|
+ GPIO_BITBAND(CORE_PIN ## P ## _DDRREG , CORE_PIN ## P ## _BIT) = 0; \
|
|
69
|
+}while(0)
|
67
|
70
|
|
68
|
71
|
#define _GET_INPUT(P) ((CORE_PIN ## P ## _DDRREG & CORE_PIN ## P ## _BITMASK) == 0)
|
69
|
72
|
#define _GET_OUTPUT(P) ((CORE_PIN ## P ## _DDRREG & CORE_PIN ## P ## _BITMASK) == 0)
|
70
|
73
|
|
71
|
|
-//#define _GET_TIMER(IO)
|
72
|
|
-
|
73
|
74
|
#define READ(IO) _READ(IO)
|
74
|
75
|
|
75
|
76
|
#define WRITE_VAR(IO,V) _WRITE_VAR(IO,V)
|
|
@@ -77,7 +78,7 @@
|
77
|
78
|
#define TOGGLE(IO) _TOGGLE(IO)
|
78
|
79
|
|
79
|
80
|
#define SET_INPUT(IO) _SET_INPUT(IO)
|
80
|
|
-#define SET_INPUT_PULLUP(IO) do{ _SET_INPUT(IO); _WRITE(IO,HIGH); }while(0)
|
|
81
|
+#define SET_INPUT_PULLUP(IO) _SET_INPUT_PULLUP(IO)
|
81
|
82
|
#define SET_OUTPUT(IO) _SET_OUTPUT(IO)
|
82
|
83
|
|
83
|
84
|
#define GET_INPUT(IO) _GET_INPUT(IO)
|