void Program1()
{
switch (Task1)
{
//change to this task to make program 1 idle
case PROG1_IDLE:
break;
case PROG1_INIT:
//do some initialisation for program 1
Task1=PROG1_EXE;
break;
case PROG1_EXE:
//do something here
break;
//other tasks can be added here
case PROG1_OTHER_TASKS:
break;
}
}
void Program2()
{
switch (Task2)
{
//change to this task to make program 2 idle
case PROG2_IDLE:
break;
case PROG2_INIT:
//do some initialisation for program 2
Task2=PROG2_EXE;
break;
case PROG2_EXE:
//do something here
break;
//other tasks can be added here
case PROG2_OTHER_TASKS:
break;
}
}
void main()
{
Task1=PROG1_INIT;
Task2=PROG2_INIT;
do
{
Program1();
Program2();
}while(TRUE);
}