12345678910111213141516171819202122232425262728293031323334353637 |
- #include "device_alive.h"
- #include "systick.h"
- uint32_t last_time;//上一次数据采集的时间
- bool device_time_flag ;//只依据时间是否到达,可能存在时间抵达时已经在数据采集、后续采集结束再读时间到达时间的清除的情况出现
- //判断是否抵达预定的时间time则返回true
- bool time_arrive(uint32_t time )
- {
- if(last_time==0)
- {
- last_time=gettick();
- device_time_flag=1; //进入数据采集标志
- return true;
- }
- else
- {
- if((gettick()-last_time)>time && device_time_flag ==0)
- {
- last_time=gettick();
- device_time_flag=1; //进入数据采集标志
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- void clear_time_flag()
- {
- if(device_time_flag==1)
- {
- device_time_flag=0;
- }
- }
|