/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.h * @brief : Header for main.c file. * This file contains the common defines of the application. ****************************************************************************** * @attention * *

© Copyright (c) 2021 STMicroelectronics. * All rights reserved.

* * This software component is licensed by ST under BSD 3-Clause license, * the "License"; You may not use this file except in compliance with the * License. You may obtain a copy of the License at: * opensource.org/licenses/BSD-3-Clause * ****************************************************************************** */ /* USER CODE END Header */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __MAIN_H #define __MAIN_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32l4xx_hal.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Exported types ------------------------------------------------------------*/ /* USER CODE BEGIN ET */ /* USER CODE END ET */ /* Exported constants --------------------------------------------------------*/ /* USER CODE BEGIN EC */ /* USER CODE END EC */ /* Exported macro ------------------------------------------------------------*/ /* USER CODE BEGIN EM */ /* USER CODE END EM */ /* Exported functions prototypes ---------------------------------------------*/ void Error_Handler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ #define Key1_Pin GPIO_PIN_13 #define Key1_GPIO_Port GPIOC #define Key1_EXTI_IRQn EXTI15_10_IRQn #define Beep_Pin GPIO_PIN_1 #define Beep_GPIO_Port GPIOA #define AdcLux_Pin GPIO_PIN_4 #define AdcLux_GPIO_Port GPIOA #define AdcMic_Pin GPIO_PIN_6 #define AdcMic_GPIO_Port GPIOA #define Relay1_Pin GPIO_PIN_1 #define Relay1_GPIO_Port GPIOB #define Key2_Pin GPIO_PIN_15 #define Key2_GPIO_Port GPIOA #define Key2_EXTI_IRQn EXTI15_10_IRQn #define Relay2_Pin GPIO_PIN_3 #define Relay2_GPIO_Port GPIOB #define SysLed_Pin GPIO_PIN_4 #define SysLed_GPIO_Port GPIOB #define BlueLed_Pin GPIO_PIN_5 #define BlueLed_GPIO_Port GPIOB #define RedLed_Pin GPIO_PIN_6 #define RedLed_GPIO_Port GPIOB #define GreenLed_Pin GPIO_PIN_7 #define GreenLed_GPIO_Port GPIOB /* USER CODE BEGIN Private defines */ /* * These inlines deal with timer wrapping correctly. You are strongly encouraged to use them * 1. Because people otherwise forget * 2. Because if the timer wrap changes in future you won't have to alter your driver code. * * time_after(a,b) returns true if the time a is after time b. * * Do this with "<0" and ">=0" to only test the sign of the result. A good compiler would generate * better code (and a really good compiler wouldn't care). Gcc is currently neither. */ #define time_after(a,b) ( (int32_t)(b) - (int32_t)(a) < 0 ) #define time_before(a,b) time_after(b,a) #define time_after_eq(a,b) ( (int32_t)(a) - (int32_t)(b) >= 0 ) #define time_before_eq(a,b) time_after_eq(b,a) /* USER CODE END Private defines */ #ifdef __cplusplus } #endif #endif /* __MAIN_H */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/