94 lines
3.3 KiB
C
94 lines
3.3 KiB
C
#include "gate_timer.h"
|
||
|
||
/********************************************************************************
|
||
* @file gate_timer.c
|
||
* @author 晏诚科技 Mr.Wang
|
||
* @version V1.0.0
|
||
* @date 11-Dec-2018
|
||
* @brief timer封装
|
||
******************************************************************************
|
||
* @attention:
|
||
*******************************************************************************/
|
||
|
||
/*****************************************
|
||
*驱动内部使用常变量
|
||
****************************************/
|
||
volatile uint32_t systickCount = 0 ;
|
||
|
||
/**************************************************************************************************
|
||
* 名 称: void CalculateTimerInit(void)
|
||
* 功 能: 使用TIMER7作为节拍计数器,100ms中断一次
|
||
***************************************************************************************************/
|
||
void CalculateTimerInit(void)
|
||
{
|
||
Timerx_Init(TIMER7, 100, INT_RANK_14, DISABLE) ; //100ms中断一次
|
||
Timer_RegHookCallback(TIMER7, CalculateRunTime) ;
|
||
}
|
||
|
||
///**************************************************************************************************
|
||
//* 名 称: void Calculate_Timer_Init(void)
|
||
//* 功 能: 使用TIMER6作为OLED刷新显示时间定时器 1s中断一次
|
||
//***************************************************************************************************/
|
||
//void TimeRefreshTimerInit(void)
|
||
//{
|
||
// Timerx_Init(TIMER6, 1*1000, INT_RANK_15, DISABLE) ; //6s中断一次
|
||
// Timer_RegHookCallback(TIMER6, GreenLight_Timer) ;
|
||
//}
|
||
|
||
//void GreenLight_Timer(void)
|
||
//{
|
||
|
||
//}
|
||
|
||
///**************************************************************************************************
|
||
//* 名 称: void GreenLight_Timer_Start(void)
|
||
//* 功 能: 开启计时器
|
||
//***************************************************************************************************/
|
||
//void GreenLight_Timer_Start(void)
|
||
//{
|
||
// Timerx_Open(TIMER6) ;
|
||
//}
|
||
|
||
///**************************************************************************************************
|
||
//* 名 称: void GreenLight_Timer_Start(void)
|
||
//* 功 能: 结束节拍计时器并返回节拍数
|
||
//***************************************************************************************************/
|
||
//void GreenLight_Timer_Over(void)
|
||
//{
|
||
// Timerx_Close(TIMER6) ;
|
||
//}
|
||
|
||
/**************************************************************************************************
|
||
* 名 称: void CalculateStart(void)
|
||
* 功 能: 开启计时器
|
||
***************************************************************************************************/
|
||
void CalculateStart(void)
|
||
{
|
||
Timerx_Open(TIMER7) ;
|
||
systickCount = 0 ;
|
||
}
|
||
|
||
/**************************************************************************************************
|
||
* 名 称: uint32_t CalculateOver(void)
|
||
* 功 能: 结束节拍计时器并返回节拍数
|
||
***************************************************************************************************/
|
||
uint32_t CalculateOver(void)
|
||
{
|
||
Timerx_Close(TIMER7) ;
|
||
return systickCount ;
|
||
}
|
||
|
||
/**************************************************************************************************
|
||
* 名 称: void CalculateRunTime(void)
|
||
* 功 能: 节拍计时器timer7中断回调函数
|
||
***************************************************************************************************/
|
||
void CalculateRunTime(void)
|
||
{
|
||
systickCount++ ;
|
||
if( systickCount >= 0xFFFFFFFF) //systickCount溢出
|
||
{
|
||
systickCount = 0 ;
|
||
}
|
||
}
|
||
|