|
@@ -20,6 +20,8 @@
|
|
|
|
|
|
typedef ioline_t pin_t;
|
|
typedef ioline_t pin_t;
|
|
|
|
|
|
|
|
+/* Operation of GPIO by pin. */
|
|
|
|
+
|
|
#define setPinInput(pin) palSetLineMode(pin, PAL_MODE_INPUT)
|
|
#define setPinInput(pin) palSetLineMode(pin, PAL_MODE_INPUT)
|
|
#define setPinInputHigh(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLUP)
|
|
#define setPinInputHigh(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLUP)
|
|
#define setPinInputLow(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLDOWN)
|
|
#define setPinInputLow(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLDOWN)
|
|
@@ -32,3 +34,17 @@ typedef ioline_t pin_t;
|
|
#define readPin(pin) palReadLine(pin)
|
|
#define readPin(pin) palReadLine(pin)
|
|
|
|
|
|
#define togglePin(pin) palToggleLine(pin)
|
|
#define togglePin(pin) palToggleLine(pin)
|
|
|
|
+
|
|
|
|
+/* Operation of GPIO by port. */
|
|
|
|
+
|
|
|
|
+typedef uint16_t port_data_t;
|
|
|
|
+
|
|
|
|
+#define readPort(pin) palReadPort(PAL_PORT(pin))
|
|
|
|
+
|
|
|
|
+#define setPortBitInput(pin, bit) palSetPadMode(PAL_PORT(pin), bit, PAL_MODE_INPUT)
|
|
|
|
+#define setPortBitInputHigh(pin, bit) palSetPadMode(PAL_PORT(pin), bit, PAL_MODE_INPUT_PULLUP)
|
|
|
|
+#define setPortBitInputLow(pin, bit) palSetPadMode(PAL_PORT(pin), bit, PAL_MODE_INPUT_PULLDOWN)
|
|
|
|
+#define setPortBitOutput(pin, bit) palSetPadMode(PAL_PORT(pin), bit, PAL_MODE_OUTPUT_PUSHPULL)
|
|
|
|
+
|
|
|
|
+#define writePortBitLow(pin, bit) palClearLine(PAL_LINE(PAL_PORT(pin), bit))
|
|
|
|
+#define writePortBitHigh(pin, bit) palSetLine(PAL_LINE(PAL_PORT(pin), bit))
|