chargeController/APP/functionalModule/Src/checkTime.c

60 lines
1.1 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "checkTime.h"
typedef struct _timeData {
/* 程序执行前的时间 */
uint32_t time_ms1;
uint16_t time_tick1;
/* 程序执行完的时间 */
uint32_t time_ms2;
uint16_t time_tick2;
/* 程序执行所用的时间ms */
float time_s;
}timeData;
static timeData checkTimeData;
volatile static uint32_t hw_sys_tick_ms = 0; //ms 自增计数变量
#define tim TIM15
#define timLard 36000.0
/**
* hw_inc_tick函数
*
* 本函数用于递增硬件系统的毫秒计时器hw_sys_tick_ms。
* 每次调用此函数hw_sys_tick_ms将增加1。
*
* 注意:此函数没有输入参数和返回值。
*/
void hw_inc_tick(void)
{
++hw_sys_tick_ms;
}
void checkTimeInit(void)
{
checkTimeData.time_ms1 = hw_sys_tick_ms;
checkTimeData.time_tick1 = tim->CNT;
}
float getCheckTime(void)
{
checkTimeData.time_ms2 = hw_sys_tick_ms;
checkTimeData.time_tick2 = tim->CNT;
checkTimeData.time_s = checkTimeData.time_ms2 - checkTimeData.time_ms1
+ (checkTimeData.time_tick2 - checkTimeData.time_tick1) / timLard;
return checkTimeData.time_s;
}