本帖最后由 mohanwei 于 2010-6-16 09:19 编辑
#define _time_tick 10 //定时器节拍为10ms
#define _Tasks 7//7个任务
const int TaskTime[_Tasks]= //任务周期(对于定时器节拍的计数值)
{
1*1000/_time_tick,
2*1000/_time_tick,
7*1000/_time_tick,
13*1000/_time_tick,
14*1000/_time_tick,
17*1000/_time_tick,
29*1000/_time_tick,
};
void timer_0_isr(void)
{
static unsigned int counter[_Tasks]=0;
int i;
for(i=0;i<_Tasks【i】;i++)
{
counter【i】++;//计数器加1
if(counter【i】>=TaskTime【i】)//定时到
{
counter【i】=0;//计数器清零
sendframe(i);//发送相应数据帧
}
}
}
|