sggt/App/MUX_SIGNAL/mux_signal.h

55 lines
1022 B
C

#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