30 lines
887 B
C
30 lines
887 B
C
/******************************************************************************
|
|
* @file app_time_util.h
|
|
* @brief 业务模块共用的毫秒计时小工具,避免每个模块各写一份
|
|
* @author cyWu <1917507415@qq.com>
|
|
* @date 2026.08.25
|
|
* @version V1.0.0
|
|
* @history
|
|
* - V1.0.0, 2026.08.25, cyWu, 首次发布,实现 16 位毫秒饱和累加
|
|
******************************************************************************/
|
|
|
|
#ifndef __APP_TIME_UTIL_H__
|
|
#define __APP_TIME_UTIL_H__
|
|
|
|
#include <stdint.h>
|
|
|
|
/**
|
|
* @brief 毫秒累加,饱和到 0xFFFF,避免 16 位计时溢出回绕
|
|
* @param v 当前值
|
|
* @param dt 本次增加量
|
|
* @return 累加结果,最大 0xFFFF
|
|
*/
|
|
static inline uint16_t app_add_ms(uint16_t v, uint16_t dt)
|
|
{
|
|
uint32_t n = (uint32_t)v + dt;
|
|
|
|
return (n > 0xffffu) ? 0xffffu : (uint16_t)n;
|
|
}
|
|
|
|
#endif /* __APP_TIME_UTIL_H__ */
|