55 lines
1.0 KiB
C
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);
|
|
|
|
|
|
|