/** ****************************************************************************** * @file gpio.h * @brief This file contains all the function prototypes for * the gpio.c file ****************************************************************************** * @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 * ****************************************************************************** */ /* 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 */ /* USER CODE END Private defines */ void MX_GPIO_Init(void); /* USER CODE BEGIN Prototypes */ enum { SysLed, RedLed, GreenLed, BlueLed, LedMax, }; enum { Relay1, Relay2, RelayMax, }; #define OFF 0 #define ON 1 typedef struct gpio_s { const char *name; GPIO_TypeDef *group; uint16_t pin; } gpio_t; extern gpio_t relays[RelayMax]; extern gpio_t leds[LedMax] ; /* 函数说明ï¿???? 控制LEDï¿????/灭的功能函数 * 参数说明ï¿???? which指定要控制哪个灯,取值为枚举里的 RedLed、GreenLed或BlueLed * status要控制灯亮还是灭,取值为宏定ï¿???? ON ï¿???? OFF * 返回值: ï¿???? */ extern void turn_led(int which, int status); /* 函数说明ï¿???? 控制LED闪烁的功能函ï¿???? * 参数说明ï¿???? which指定要控制哪个灯,取值为枚举里的 RedLed、GreenLed或BlueLed * interval指定闪烁的间隔时间,其单位为毫秒 * 返回值: ï¿???? */ extern void blink_led(int which, uint32_t interval); extern void sysled_hearbeat(void); extern void turn_relay(int which, int status); /* USER CODE END Prototypes */ #ifdef __cplusplus } #endif #endif /*__ GPIO_H__ */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/