/* 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 */

/* USER CODE END Includes */

/* USER CODE BEGIN Private defines */


#define KEY1  HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin)
#define KEY2  HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin)
#define KEY3  HAL_GPIO_ReadPin(KEY3_GPIO_Port,KEY3_Pin)
#define KEY4  HAL_GPIO_ReadPin(KEY4_GPIO_Port,KEY4_Pin)

#define LED_Blue_ON      HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_RESET)
#define LED_Blue_OFF     HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_SET)
#define LED_Blue_Tog     HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin)

#define LED_Green_ON     HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_RESET)
#define LED_Green_OFF    HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,GPIO_PIN_SET)
#define LED_Green_Tog    HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin)

#define BEEP_ON          HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2)     //·äÃùÆ÷¿ª
#define BEEP_OFF         HAL_TIM_PWM_Stop(&htim3,TIM_CHANNEL_2)     //·äÃùÆ÷¹Ü

extern int KEY1_flag;
extern int KEY2_flag;
extern int KEY3_flag;
extern int KEY4_flag;

/* USER CODE END Private defines */

void MX_GPIO_Init(void);

/* USER CODE BEGIN Prototypes */

void KEY_Scan(void);

/* USER CODE END Prototypes */

#ifdef __cplusplus
}
#endif
#endif /*__ GPIO_H__ */

