#ifndef _GLOBAL_TIME #define _GLOBAL_TIME typedef struct { unsigned long total_seconds; //Всего секунд с момента включениЯ unsigned long total_seconds10; //Всего секунд с момента включениЯ с десятыми unsigned long total_seconds10full; //Всего секунд с момента включениЯ с десятыми unsigned long microseconds; unsigned int microseconds_temp; unsigned int miliseconds; //??? unsigned long miliseconds_long; //??? unsigned int pwm_tics; unsigned int seconds; unsigned int minuts; unsigned int hours; unsigned int freq_pwm_hz; unsigned int microseconds_add; void (*calc)(); //Считает в прерывании ШИМ'а } GLOBAL_TIME; typedef GLOBAL_TIME *GLOBAL_TIME_handle; void global_time_calc(GLOBAL_TIME_handle); void init_global_time_struct(unsigned int freq_pwm); /*----------------------------------------------------------------------------- Default initalizer for the GLOBAL_TIME object. -----------------------------------------------------------------------------*/ #define GLOBAL_TIME_DEFAULTS { 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ global_time_calc \ } /*------------------------------------------------------------------------------ Prototypes for the functions in global_time.c ------------------------------------------------------------------------------*/ extern GLOBAL_TIME global_time; void init_timer_sec(unsigned int *start_time); //Инициализирует переменную, времЯ старта в секундах void init_timer_milisec(unsigned int *start_time); //Инициализирует переменную, времЯ старта в милисекундах int detect_pause_sec(unsigned int wait_pause, unsigned int *old_time); //пауза в секундах int detect_pause_milisec(unsigned int wait_pause, unsigned int *old_time); //Пауза в милисекундах (не более 60000млсек) unsigned int get_delta_milisec(unsigned int *old_time, unsigned int upd); // вернули сколько времени прошло от времени old_time ; upd=1 - обновить old_time - текущим #endif //_GLOBAL_TIME