sggt/App/MUX_SIGNAL/mux_signal.h

73 lines
1.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 enum
{
CAL_FLAG_CUR_MA_OUT = 0,
CAL_FLAG_VOUT_V_OUT,
CAL_FLAG_VOUT_MV_OUT,
CAL_FLAG_RES_OHM_OUT,
CAL_FLAG_CUR_MA_IN,
CAL_FLAG_VOUT_V_IN,
CAL_FLAG_VOUT_MV_IN,
CAL_FLAG_RES_OHM_IN,
CAL_FLAG_NONE
}CALIBRATE_FLAGS;
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;
float32 sv_calibrated;
} 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);
//加载校准所需的参数EEPROM读取
void load_calibrate_data(void);
void deal_calibrate_affair(void);
#endif