#ifndef _MUX_SIGNAL_H_ #define _MUX_SIGNAL_H_ #include "data_type_def.h" #include "gpio.h" #define PWM_MUX 0 #define PWM_HART 1 typedef enum { CH0_OUT_VOL_V = 0, CH1_OUT_VOL_MV = 1, CH2_OUT_CUR = 2, CH3_OUT_FRE = 3, CH4_OUT_RES = 4, CH5_EMPTY = 5, CH6_IN_VOL = 6, CH7_IN_MVOL = 7, CH8_IN_CUR = 8, CH9_IN_FRE = 9, CH10_IN_RTD = 10, CH11_IN_TC = 11, CH12_IN_HART = 12, CHX_IN_MAX = 13, } CHANNEL; typedef struct { uint8_t capture_cnt; uint8_t over_cnt; float32 high_time; // 高电平时间 float32 duty_time; // 周期 float32 freq; float32 capture_buf[3]; } st_freq_signal; typedef struct { CHANNEL channel; float32 data_sv; float32 data_pv; float32 pwr_delay; } st_mux_signal; extern st_freq_signal freq_signal; extern st_mux_signal mux_signal; void pwr_cosume(BOOL rst, uint32_t ms); void mux_signal_switch(st_mux_signal *mux_signal); void frequence_output(uint32_t freq, uint8_t pulse, uint8_t pwm_select); #endif