无操作系统时传统的程序编写机制
main
{
初始化定时器;
while(1)
{
if(A变量== 1)
{
执行函数1();
执行函数2();
…….
}
}
}
定时器中断()
{
1秒时间到
{
A变量 =1;
}
}
优点:实现简单;
缺点:当需要执行的秒任务增多,可能会出现任务没有运行的状态,丢任务;
int loop;
main
{
初始化定时器;
while(1)
{
判断秒中断信号量;
if(loop == 1)
执行任务1;
if(loop == 2)
执行任务2;
…….
loop++;
}
}
定时器中断()
{
1秒时间到
{
发送秒中断信号量;
}
}
秒中断信号量判断函数
{
判断是否是秒中断信号量;
loop = 0;
}
所有的任务都会以1秒为间隔执行,比如任务1 ~ 下一次任务1 间隔时间1s;任务2 ~ 任务2 间隔1s,任务发生的间隔的相对时间是1s,不是绝对时间。可以将任务在1s的时间间隔内,将其分开;
优点:可扩展性强,可以扩展到分钟任务,小时任务,天任务,月任务等;