#ifndef THREE_WAY_VALVE_H #define THREE_WAY_VALVE_H #include // 定义三通阀控制和检测相关的引脚 #define POWER_OUT_PIN GPIO_PIN_4 // 三通阀供电 #define POWER_OUT_PORT GPIOE #define VT_OUT_PIN GPIO_PIN_11 // 三通阀 VT 管脚 #define VT_OUT_PORT GPIOE #define INT_1_PIN GPIO_PIN_9 // 对应三通阀 OUT1 #define INT_1_PORT GPIOF #define INT_2_PIN GPIO_PIN_10 // 对应三通阀 OUT2 #define INT_2_PORT GPIOF #define READ_FLIP 0 // read 电平反转 /** * 控制 * VT H ON_C * VT L OFF_C * * 反馈状态 * INT_2 INT_1 状态 * L H ON_C * H L OFF_C */ class ThreeWayValve { public: enum ValveMode { ON_C = 0x00, // ON 连通 上电 OFF_C = 0x01, // OFF 连通 断电 ON_OFF_NC = 0x02 // ON OFF 关闭 }; ThreeWayValve(); // 初始化 GPIO 引脚 void initGPIO(); // 设置模式 void setMode(ValveMode mode); // 获取模式 ValveMode getMode(); void powerOn(); void powerOff(); private: // 设置 触发电压使能 void setVtEnable(bool enable); // true 高电平 false 低电平 bool getVOUT1State(); // true 高电平 false 低电平 bool getVOUT2State(); }; #endif // THREE_WAY_VALVE_H