聊聊数据溢出的事,你明白几分?

前言

直接看代码:

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
Copyright © 2024 亿华云