我本来是想用定时器的,可是我看到了一个系统定时器的应用函数:millis();
该函数其实很容易在任何单片机上实现,比如启用一个定时器,在定时器了设定1ms刷新一个时间变量。就可以调用这个函数去读取这个变量。
那么如何使用它呢。如果我有应用,我通过该函数获取一个时间参考点,并记录,根据自己定义的周期时间来比对它即可实现类型定时器的效果。
比如我想执行一个刷新操作和一个滚动操作就可以这么写:
my_time=millis();
if((my_time-rolling_time)>ROLLING_CYCLE)
{
//如果达到滚动周期执行滚动操作,并更新滚动时间参考点
rolling_time=my_time;
}
if((my_time-refresh_time)>REFRESH_CYCLE)
{
//如果达到刷新周期执行刷新操作,并更新刷新时间参考点
refresh_time=my_time;
}
具体操作函数空置了,大概就是这个思路。
大家觉得这个方法是不是可行,或者很有用。
|