Files
ICE_22220_1/isolatio.h
2026-07-09 14:50:52 +03:00

55 lines
1.0 KiB
C

void timer_Init(void);
int get_isolatio(void);
typedef struct
{
unsigned int clk;
unsigned int bit;
unsigned int ers;
unsigned Wait;
unsigned long Numb;
} OPTOCANAL;
// ïðèìåðíî 105 ñåêóíä - ïîëíûé öèêë èçìåðåíèà ñîïðîòèâëåíèà èçîëàöèè, çàðàä êîíäåíñàòîðà òóäà ñþäà
#define CYCLE_TIME 105L
// 3 ñåêóíäû - ïàóçà ìåæäó èçìåðåíèàìè èçîëàöèè
#define ISO_TIME 3
// ñêîëüêî ìåñòà çàíèìàåò â áóôåðå îäèí ïîëíûé öèêë
#define CYCLE_LEN (CYCLE_TIME / ISO_TIME)
// Êîëè÷åñòâî ïîëíûõ öèêëîâ â íàøåì áóôåðå
#define BUFF_CYCLES 5
// âåëè÷èíà áóôåðà äëà õðàíåíèà èçìåðåíèé, ïóñòü â íåãî âëàçèò íåñêîëüêî ïîëíûõ öèêëîâ
#define BUFF_LEN (CYCLE_LEN * BUFF_CYCLES)
#define TELE_FREQ 2000 // Ãö - ÷àñòîòà ïðåðûâàíèà
#define ISO_PAUSE (ISO_TIME * TELE_FREQ)
typedef struct {
int buff[BUFF_LEN];
int min_val;
int max_val;
unsigned int buff_position;
unsigned int prim_position;
unsigned int cycles;
int MOms_x_10;
unsigned int pause_counter;
int adc_value;
}ISOLATION;
extern ISOLATION iso[];
void isolation_calc(void);
void Calcul_Iso_Koef(void);