From ddb1cdfc9b4ced32459d76851a72ec58a4828c99 Mon Sep 17 00:00:00 2001 From: KLASSENTS Date: Wed, 15 Jan 2025 13:26:38 +0700 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BC=D0=B8=D0=BA=D1=80=D0=BE=D0=BA=D0=BE=D0=BD=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BB=D0=BB=D0=B5=D1=80=D0=B0=20mik32v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/OneWire/util/OneWire_direct_gpio.h | 15 ++++++++++++++- libraries/OneWire/util/OneWire_direct_regtype.h | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/libraries/OneWire/util/OneWire_direct_gpio.h b/libraries/OneWire/util/OneWire_direct_gpio.h index 830241c..34c81e2 100644 --- a/libraries/OneWire/util/OneWire_direct_gpio.h +++ b/libraries/OneWire/util/OneWire_direct_gpio.h @@ -408,8 +408,21 @@ void directWriteHigh(volatile IO_REG_TYPE *base, IO_REG_TYPE pin) #define DIRECT_WRITE_LOW(base, pin) directWriteLow(base, pin) #define DIRECT_WRITE_HIGH(base, pin) directWriteHigh(base, pin) -#elif defined(__riscv) +#elif defined(MIK32V2) +#include "wiring_LL.h" +#define IO_REG_TYPE uint32_t +#define PIN_TO_BASEREG(pin) ((volatile uint32_t*)digitalPinToPort(pin)) +#define PIN_TO_BITMASK(pin) ((uint32_t)digitalPinToBitMask(pin)) +#define IO_REG_BASE_ATTR +#define IO_REG_MASK_ATTR +#define DIRECT_MODE_INPUT(base, mask) (GPIO_INPUT_MODE_PIN((GPIO_TypeDef *)base,mask)) +#define DIRECT_MODE_OUTPUT(base, mask) (GPIO_OUTPUT_MODE_PIN((GPIO_TypeDef *)base,mask)) +#define DIRECT_READ(base, mask) (GPIO_READ_PIN((GPIO_TypeDef *)base,mask)) +#define DIRECT_WRITE_LOW(base, mask) (GPIO_CLEAR_PIN((GPIO_TypeDef *)base,mask)) +#define DIRECT_WRITE_HIGH(base, mask) (GPIO_SET_PIN((GPIO_TypeDef *)base,mask)) + +#elif defined(__riscv) /* * Tested on highfive1 * diff --git a/libraries/OneWire/util/OneWire_direct_regtype.h b/libraries/OneWire/util/OneWire_direct_regtype.h index 8e30813..ad13952 100644 --- a/libraries/OneWire/util/OneWire_direct_regtype.h +++ b/libraries/OneWire/util/OneWire_direct_regtype.h @@ -49,6 +49,9 @@ #include "DigitalInOut.h" #define IO_REG_TYPE mbed::DigitalInOut* +#elif defined(MIK32V2) +#define IO_REG_TYPE uint32_t + #elif defined(__riscv) #define IO_REG_TYPE uint32_t