- #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);
- }
- }
|