sggt/Core/Inc/gpio.h

184 lines
11 KiB
C

/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file gpio.h
* @brief This file contains all the function prototypes for
* the gpio.c file
******************************************************************************
* @attention
*
* Copyright (c) 2024 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __GPIO_H__
#define __GPIO_H__
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* USER CODE BEGIN Includes */
#define ON GPIO_PIN_SET
#define OFF GPIO_PIN_RESET
#define RS485_RD GPIO_PIN_RESET
#define RS485_WR GPIO_PIN_SET
/* USER CODE END Includes */
/* USER CODE BEGIN Private defines */
#define PWR_CTRL(STATE) HAL_GPIO_WritePin(PWR_EN_GPIO_Port, PWR_EN_Pin, STATE)
//#define PWR12_CTRL(STATE) HAL_GPIO_WritePin(PWR12_EN_GPIO_Port, PWR12_EN_Pin, STATE)
#define LIGHT_PWR(STATE) HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, STATE)
#define LED_TOG HAL_GPIO_TogglePin(light_GPIO_Port, light_Pin)
// #define LIGHT_ON HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_SET)
// #define LIGHT_OFF HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_RESET)
//#define RS485_RW(RW) HAL_GPIO_WritePin(RS485_RW_GPIO_Port, RS485_RW_Pin, RW)
#define BLE_RSTN(STATE) HAL_GPIO_WritePin(BLE_RSTN_GPIO_Port, BLE_RSTN_Pin, STATE)
#define HART_OCD() HAL_GPIO_ReadPin(HART_OCD_GPIO_Port, HART_OCD_Pin)
#define HART_RESET(STATE) HAL_GPIO_WritePin(HART_RST_GPIO_Port, HART_RST_Pin, STATE)
#define HART_RTS(SEND) HAL_GPIO_WritePin(HART_RTS_GPIO_Port, HART_RTS_Pin, SEND)
#define HC138_SEL_CH(CH) \
do \
{ \
HAL_GPIO_WritePin(G1_GPIO_Port, G1_Pin, GPIO_PIN_SET); \
if (CH < 5) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
else \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_SET); \
} \
if (CH == 0) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 1) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 2) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 3) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 4) \
{ \
HAL_GPIO_WritePin(INPUT_A0_GPIO_Port, INPUT_A0_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_GPIO_Port, INPUT_A1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_GPIO_Port, INPUT_A2_Pin, GPIO_PIN_SET); \
} \
else if (CH == 5) \
{ \
} \
else if (CH == 6) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 7) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 8) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 9) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_RESET); \
} \
else if (CH == 10) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
else if (CH == 11) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
else if (CH == 12) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_RESET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
else if (CH == 13) \
{ \
HAL_GPIO_WritePin(INPUT_A0_1_GPIO_Port, INPUT_A0_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A1_1_GPIO_Port, INPUT_A1_1_Pin, GPIO_PIN_SET); \
HAL_GPIO_WritePin(INPUT_A2_1_GPIO_Port, INPUT_A2_1_Pin, GPIO_PIN_SET); \
} \
} while (0)
#define DAC8552_SYNC(SYNC) HAL_GPIO_WritePin(DAC8552_SYNC_GPIO_Port, DAC8552_SYNC_Pin, SYNC)
//#define RN7302_CS(CS) HAL_GPIO_WritePin(RN7302_CS_GPIO_Port, RN7302_CS_Pin, CS)
#define ADS1220_CS(CS) HAL_GPIO_WritePin(ADS1220_CS_GPIO_Port, ADS1220_CS_Pin, CS)
//#define DAC7811_CS(CS) HAL_GPIO_WritePin(DAC7811_CS_GPIO_Port, DAC7811_CS_Pin, CS)
/* USER CODE END Private defines */
void MX_GPIO_Init(void);
/* USER CODE BEGIN Prototypes */
/* USER CODE END Prototypes */
#ifdef __cplusplus
}
#endif
#endif /*__ GPIO_H__ */