/** ****************************************************************************** * @file relay_control.h * @brief 继电器控制模块头文件 * @author Application Layer * @version 1.0 ****************************************************************************** * @attention * 本模块提供继电器的安全控制接口 * 当前硬件配置:PA15连接继电器控制端 ****************************************************************************** */ #ifndef __RELAY_CONTROL_H #define __RELAY_CONTROL_H #ifdef __cplusplus extern "C" { #endif #include #include #define RELAY_COUNT 1 #define RELAY_MIN_INTERVAL 100 /** * @brief 初始化继电器控制模块 * @note 将继电器初始状态设为关闭 * @param 无 * @retval 无 */ void Relay_Init(void); /** * @brief 设置继电器状态 * @note 带最小间隔保护,防止频繁切换损坏继电器 * @param relay_id: 继电器编号(1-4),当前硬件只有1 * @param state: true=打开, false=关闭 * @retval 无 */ void Relay_SetState(uint8_t relay_id, bool state); /** * @brief 获取继电器当前状态 * @note 读取GPIO输出状态 * @param relay_id: 继电器编号(1-4) * @retval true=打开, false=关闭 */ bool Relay_GetState(uint8_t relay_id); /** * @brief 翻转继电器状态 * @note 带最小间隔保护 * @param relay_id: 继电器编号(1-4) * @retval 无 */ void Relay_Toggle(uint8_t relay_id); /** * @brief 获取继电器切换次数 * @note 用于调试和诊断 * @param 无 * @retval 切换次数 */ uint32_t Relay_GetToggleCount(void); #ifdef __cplusplus } #endif #endif