#include <rtx51tny.h> /* RTX-51 tiny functions & defines */
/******************************************************************************/
/* Task 0 'job0': RTX-51 tiny starts execution with task 0 */
/******************************************************************************/
job0 () _task_ 0 {
os_create_task (1); /* start task 1 */
os_create_task (2); /* start task 2 */
os_create_task (3); /* start task 3 */
os_create_task (4); /* start task 4 */
while (1) { /* endless loop */
if(keyA==PUSHED){
os_create_task (1); /* start task 1 */
os_delete_task (2); /* stop task 2 */
os_delete_task (3); /* stop task 3 */
os_delete_task (4); /* stop task 4 */
}
if(keyB==PUSHED){
os_delete_task (1); /* stop task 1 */
os_create_task (2); /* start task 2 */
os_delete_task (3); /* stop task 3 */
os_delete_task (4); /* stop task 4 */
}
if(keyC==PUSHED){
os_delete_task (1); /* stop task 1 */
os_delete_task (2); /* stop task 2 */
os_create_task (3); /* start task 3 */
os_delete_task (4); /* stop task 4 */
}
if(keyD==PUSHED){
os_delete_task (1); /* stop task 1 */
os_delete_task (2); /* stop task 2 */
os_delete_task (3); /* stop task 3 */
os_create_task (4); /* start task 4 */
}
os_wait (K_TMO, 5, 0); /* wait for timeout: 5 ticks */
}
}
/******************************************************************************/
/* Task 1 'job1': RTX-51 tiny starts this task with os_create_task (1) */
/******************************************************************************/
job1 () _task_ 1 {
while (1) { /* endless loop */
os_wait (K_TMO, 100, 0); /* wait for timeout: 100 ticks = 1s */
toogle_light(1);
os_wait (K_TMO, 200, 0); /* wait for timeout: 200 ticks = 2s */
toogle_light(2);
os_wait (K_TMO, 300, 0); /* wait for timeout: 300 ticks = 3s */
toogle_light(3);
}
}
/******************************************************************************/
/* Task 2 'job2': RTX-51 tiny starts this task with os_create_task (2) */
/******************************************************************************/
job2 () _task_ 2 {
while (1) { /* endless loop */
os_wait (K_TMO, 600, 0); /* wait for timeout: 100 ticks = 1s */
toogle_light(4);
os_wait (K_TMO, 100, 0); /* wait for timeout: 200 ticks = 2s */
toogle_light(5);
os_wait (K_TMO, 200, 0); /* wait for timeout: 300 ticks = 3s */
toogle_light(6);
}
}
/******************************************************************************/
/* Task 3 'job3': RTX-51 tiny starts this task with os_create_task (3) */
/******************************************************************************/
job3 () _task_ 3 {
while (1) { /* endless loop */
os_wait (K_TMO, 100, 0); /* wait for timeout: 100 ticks = 1s */
toogle_light(7);
os_wait (K_TMO, 200, 0); /* wait for timeout: 200 ticks = 2s */
toogle_light(8);
os_wait (K_TMO, 300, 0); /* wait for timeout: 300 ticks = 3s */
toogle_light(9);
}
}
/******************************************************************************/
/* Task 4 'job4': RTX-51 tiny starts this task with os_create_task (3) */
/******************************************************************************/
job3 () _task_ 4 {
while (1) { /* endless loop */
os_wait (K_TMO, 600, 0); /* wait for timeout: 600 ticks = 6s */
toogle_light(10);
os_wait (K_TMO, 800, 0); /* wait for timeout: 800 ticks = 8s */
toogle_light(11);
os_wait (K_TMO, 1200, 0); /* wait for timeout: 1200 ticks = 12s */
toogle_light(12);
}
}
|