From aa38e5c1f48e31213ee349aa5cd6f06c85bda70d Mon Sep 17 00:00:00 2001
From: android <android@lingyun.com>
Date: Tue, 25 Jun 2024 21:49:39 +0800
Subject: [PATCH] Add GD32F103RCT6 ADC converter board SDK source code

---
 mcu_sdk/gd32f103/rk_eFire/System/Inc/gpio.h |  133 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 133 insertions(+), 0 deletions(-)

diff --git a/mcu_sdk/gd32f103/rk_eFire/System/Inc/gpio.h b/mcu_sdk/gd32f103/rk_eFire/System/Inc/gpio.h
new file mode 100644
index 0000000..db1912f
--- /dev/null
+++ b/mcu_sdk/gd32f103/rk_eFire/System/Inc/gpio.h
@@ -0,0 +1,133 @@
+/**
+  ******************************************************************************
+  * File Name          : gpio.h
+  * Description        : This file contains all the functions prototypes for 
+  *                      the gpio  
+  ******************************************************************************
+  * @attention
+  *
+  * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
+  * All rights reserved.</center></h2>
+  *
+  * This software component is licensed by ST under Ultimate Liberty license
+  * SLA0044, the "License"; You may not use this file except in compliance with
+  * the License. You may obtain a copy of the License at:
+  *                             www.st.com/SLA0044
+  *
+  ******************************************************************************
+  */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __gpio_H
+#define __gpio_H
+#ifdef __cplusplus
+ extern "C" {
+#endif
+#include <stdint.h>
+
+#include "pinName-board.h"
+#include "pinName-ioe.h"
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+typedef void( GpioIrqHandler )( void );
+
+#define RCC_GPIO_CLK_ENABLE( __GPIO_PORT__ )              \
+do {                                                    \
+    switch( __GPIO_PORT__)                                \
+    {                                                     \
+      case GPIOA_BASE: __HAL_RCC_GPIOA_CLK_ENABLE(); break;    \
+      case GPIOB_BASE: __HAL_RCC_GPIOB_CLK_ENABLE(); break;    \
+      case GPIOC_BASE: __HAL_RCC_GPIOC_CLK_ENABLE(); break;    \
+      case GPIOD_BASE: __HAL_RCC_GPIOD_CLK_ENABLE(); break;    \
+    }                                                    \
+  } while(0)  
+
+#define RCC_GPIO_CLK_DISABLE( __GPIO_PORT__ )              \
+do {                                                    \
+    switch( __GPIO_PORT__)                                \
+    {                                                     \
+      case GPIOA_BASE: __HAL_RCC_GPIOA_CLK_DISABLE(); break;    \
+      case GPIOB_BASE: __HAL_RCC_GPIOB_CLK_DISABLE(); break;    \
+      case GPIOC_BASE: __HAL_RCC_GPIOC_CLK_DISABLE(); break;    \
+      case GPIOD_BASE: __HAL_RCC_GPIOD_CLK_DISABLE(); break;    \
+    }                                                    \
+  } while(0) 
+
+
+void Board_GPIOInit(void);
+
+/*!
+ * @brief Initializes the given GPIO object
+ *
+ * @param  GPIOx: where x can be (A..E and H)
+ * @param  GPIO_Pin: specifies the port bit to be written.
+ *                   This parameter can be one of GPIO_PIN_x where x can be (0..15).
+ *                   All port bits are not necessarily available on all GPIOs.
+ * @param [IN] initStruct  GPIO_InitTypeDef intit structure
+ * @retval none
+ */
+void HW_GPIO_Init( GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_InitTypeDef* initStruct);
+void HW_GPIO_DeInit( GPIO_TypeDef* port, uint16_t GPIO_Pin);
+
+/*!
+ * @brief Records the interrupt handler for the GPIO  object
+ *
+ * @param  GPIOx: where x can be (A..E and H) 
+ * @param  GPIO_Pin: specifies the port bit to be written.
+ *                   This parameter can be one of GPIO_PIN_x where x can be (0..15).
+ *                   All port bits are not necessarily available on all GPIOs.
+ * @param [IN] prio       NVIC priority (0 is highest)
+ * @param [IN] irqHandler  points to the  function to execute
+ * @retval none
+ */
+void HW_GPIO_SetIrq( GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint32_t prio,  GpioIrqHandler *irqHandler );
+
+/*!
+ * @brief Execute the interrupt from the object
+ *
+ * @param  GPIOx: where x can be (A..E and H) 
+ * @param  GPIO_Pin: specifies the port bit to be written.
+ *                   This parameter can be one of GPIO_PIN_x where x can be (0..15).
+ *                   All port bits are not necessarily available on all GPIOs.
+ * @retval none
+ */
+void HW_GPIO_IrqHandler( uint16_t GPIO_Pin );
+
+/*!
+ * @brief Writes the given value to the GPIO output
+ *
+ * @param  GPIO_Pin: specifies the port bit to be written.
+ *                   This parameter can be one of GPIO_PIN_x where x can be (0..15).
+ *                   All port bits are not necessarily available on all GPIOs.
+ * @param [IN] value New GPIO output value
+ * @retval none
+ */
+void HW_GPIO_Write( GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin,  uint32_t value );
+
+/*!
+ * @brief Reads the current GPIO input value
+ *
+ * @param  GPIOx: where x can be (A..E and H) 
+ * @param  GPIO_Pin: specifies the port bit to be written.
+ *                   This parameter can be one of GPIO_PIN_x where x can be (0..15).
+ *                   All port bits are not necessarily available on all GPIOs.
+ * @retval value   Current GPIO input value
+ */
+uint32_t HW_GPIO_Read( GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin );
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ pinoutConfig_H */
+
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

--
Gitblit v1.9.1