#ifndef _SINE2_H_ #define _SINE2_H_ #include "stm32f4xx_hal.h" #define ADC2_CHANEL_COUNT 3 #define ADC2_SAMPLE_COUNT 255 #define OFF 0 #define ON 1 #define LIMIT_MOVE_FILTER 8 typedef struct{ uint16_t idx_put; uint32_t buffer[LIMIT_MOVE_FILTER]; uint32_t value; }MOVE_AVG_FILTER; //extern struct adcdata Adc ; extern uint32_t ADC_VT_Value[(ADC2_SAMPLE_COUNT * ADC2_CHANEL_COUNT)]; extern uint16_t L1_ADC_Value[ADC2_SAMPLE_COUNT]; extern uint16_t L2_ADC_Value[ADC2_SAMPLE_COUNT]; extern uint16_t L3_ADC_Value[ADC2_SAMPLE_COUNT]; extern MOVE_AVG_FILTER AC_Sine[3]; extern void filter_move_avg(MOVE_AVG_FILTER *data, uint32_t value); extern uint16_t vRms_cal(uint16_t *data, uint16_t length); #endif