This commit is contained in:
2026-01-22 19:24:33 +08:00
commit b94a28aacf
130 changed files with 127880 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
#include "os_timer.h"
unsigned short osTime_MSecTick = 0; /*<2A>δ<EFBFBD>ʱ<EFBFBD><CAB1>*/
unsigned short osTime_SecTick = 0;
unsigned short osTime_10SecTick = 0; /*10s<30><73>һ<EFBFBD><D2BB> <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>¼*/
static unsigned short osTimer_MSec1 = 0;
static unsigned short osTimer_MSec2 = 0;
unsigned short OsTimeTick_10ms;
unsigned short OsTimeTick_50ms;
unsigned short OsTimeTick_100ms;
unsigned short OsTimeTick_200ms;
unsigned short OsTimeTick_500ms;
unsigned short OsTimeTick_1s;
unsigned short OsTimeTick_2s;
/****************************************************************************
* NAME: OsTimer_Init
* CALLED BY: Application
* PRECONDITIONS:
* INPUT PARAMETERS: None
* RETURN VALUES: None
* DESCRIPTION: OsTimer initialization
*
****************************************************************************/
void OsTimer_Init(void)
{
osTimer_MSec1 = 0;
osTimer_MSec2 = 0;
osTime_SecTick = 0;
osTime_MSecTick = 0;
OsTimeTick_10ms = osTime_MSecTick;
OsTimeTick_50ms = osTime_MSecTick;
OsTimeTick_100ms = osTime_MSecTick;
OsTimeTick_200ms = osTime_MSecTick;
OsTimeTick_500ms = osTime_MSecTick;
OsTimeTick_1s = osTime_MSecTick;
}
/****************************************************************************
* NAME: OsTimer_Increment
* CALLED BY: ISR
* PRECONDITIONS:
* INPUT PARAMETERS: msec - millisecond to increase
* RETURN VALUES: None
* DESCRIPTION: Increase the Timer
*
****************************************************************************/
void OsTimer_Increment(unsigned short msec)
{
osTime_MSecTick += msec;
osTimer_MSec1 += msec;
osTimer_MSec2 += msec;
if (osTimer_MSec1 >= 1000U) /*1s*/
{
osTimer_MSec1 = 0U;
osTime_SecTick++;
}
if (osTimer_MSec2 >= 10000U) /*10s*/
{
osTimer_MSec2 = 0U;
osTime_10SecTick++;
}
}
/****************************************************************************
* NAME: OsTimer_CheckTimeOut
* CALLED BY: Application
* PRECONDITIONS:
* INPUT PARAMETERS: timeStart - start tick
* timeNow - current tick
* timeOut - expired tick
* RETURN VALUES: whether timer is expired
* DESCRIPTION: check if specified time is expired
*
****************************************************************************/
unsigned char OsTimer_CheckTimeOut(unsigned short timeStart, unsigned short timeNow, unsigned short timeOut)
{
unsigned short timerActivateVal;
timerActivateVal = timeOut + timeStart;
if (timerActivateVal > timeStart)
{
if ((timeNow >= timerActivateVal) || (timeNow < timeStart))
{
return TIME_TRUE;
}
}
else if ((timeNow >= timerActivateVal) && (timeNow < timeStart))
{
return TIME_TRUE;
}
return TIME_FALSE;
}
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>OsTimer_CheckTimeOut<75><74><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
*/
unsigned short OsTimer_CheckRunTime(unsigned short timeStart, unsigned short timeNow, unsigned short timeOut)
{
unsigned short timerActivateVal;
timerActivateVal = timeOut + timeStart;
if (timerActivateVal > timeStart)
{
return (timerActivateVal - timeNow);
}
else
{
return (65535U - timeNow + timerActivateVal);
}
}
/*<2A><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ʱ*/
void Delay_ms(unsigned short delay)
{
HAL_Delay(delay);
}