聊聊数据溢出的事,你明白几分?
前言
直接看代码:
uint32_t Time_Interval()
{
static uint32_t old_time_tick;
uint32_t data;
data = sys_time_tick_ms - old_time_tick;
old_time_tick = sys_time_tick_ms;
return data;
}
上述代码,sys_time_tick_ms每隔1ms自动加1,Time_Interval函数的作用是的,计算上一次调用Time_Interval和下一次调用的时间差,单位ms。
在这里存在一个风险,就是sys_time_tick_ms到达最大值后会溢出,会变成0。所以之前的代码我的习惯是先判断一下sys_time_tick_ms和old_time_tick的大小关系。
uint32_t Time_Interval()
{
static uint32_t old_time_tick;
uint32_t data;
if(sys_time_tick_ms
THE END