// *********************************************************** // systick.h // Модуль создан на основе кода teplofizik, 2013 // *********************************************************** #ifndef __SYSTICK_H #define __SYSTICK_H #define TIMER_HANDLERS 10 // Максимально количество обработчкиков void SYSTICK_SetDelayFlag(); uint8_t Delay_ms(__IO uint32_t nTime); void TimingDelay_Decrement(void); typedef void (*TTimerHandler)(); // Запуск таймера с заданной частотой void timer_Init(uint32_t Frequency); // Добавить функцию в список вызова. Handler будет вызываться с заданной частотой // Аргументы: 2 // Frequency - частота вызова (при увеличении снижается точность) // Handler - функция которая будет вызваться // Результат: нет void timer_AddFunction(uint16_t Frequency, TTimerHandler Handler); // Остановить таймер void timer_Stop(TTimerHandler Handler); // Включить таймер. Задача будет включена с места остановки void timer_Resume(TTimerHandler Handler); // Перезапустить таймер void timer_Restart(TTimerHandler Handler); // Перезапустить таймер. Задача будет выполненна сразу void timer_RestartAtOnce(TTimerHandler Handler); // Изменить частоту таймера void timer_ChangeFrequency(TTimerHandler Handler, uint16_t Frequency); // Главный цикл. в нем вызваются обработчики таймера void timer_Main(void); uint32_t clock_GetSYS(void); #endif