![Keil RTX51 Скачать руководство пользователя страница 47](http://html1.mh-extra.com/html/keil/rtx51/rtx51_manual_3913946047.webp)
RTX TINY
47
6
RTX_EX2: A Simple RTX51 Application
The program RTX_EX2 demonstrates an RTX51 Tiny application that uses the
os_wait
function and signal passing. This program is composed of one source file
RTX_EX2.C
located in the
\C51V4\RTX_TINY\RTX_EX2
or
\CDEMO\51\RTX_TINY\RTX_EX2
di-
rectory. The contents of
RTX_EX2.C
is listed below.
/******************************************************************************/
/* RTX_EX2.C: A RTX51 Application */
/******************************************************************************/
#pragma CODE DEBUG OBJECTEXTEND
#include <rtx51tny.h> /* RTX51 tiny functions & defines */
int counter0; /* counter for task 0 */
int counter1; /* counter for task 1 */
int counter2; /* counter for task 2 */
int counter3; /* counter for task 2 */
/******************************************************************************/
/* Task 0 'job0': RTX51 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 */
while (1) { /* endless loop */
c+; /* increment counter 0 */
os_wait (K_TMO, 5, 0); /* wait for timeout: 5 ticks */
}
}
/******************************************************************************/
/* Task 1 'job1': RTX51 tiny starts this task with os_create_task (1) */
/******************************************************************************/
job1 () _task_ 1 {
while (1) { /* endless loop */
c+; /* increment counter 1 */
os_wait (K_TMO, 10, 0); /* wait for timeout: 10 ticks */
}
}
/******************************************************************************/
/* Task 2 'job2': RTX51 tiny starts this task with os_create_task (2) */
/******************************************************************************/
job2 () _task_ 2 {
while (1) { /* endless loop */
c+; /* increment counter 2 */
if (counter2 == 0) { /* signal overflow of counter 2 */
os_send_signal (3); /* to task 3 */
}
}
}
/******************************************************************************/
/* Task 3 'job3': RTX51 tiny starts this task with os_create_task (3) */
/******************************************************************************/
job3 () _task_ 3 {
while (1) { /* endless loop */
os_wait (K_SIG, 0, 0); /* wait for signal */
c+; /* process overflow from counter 2 */
}
}
Содержание RTX51
Страница 4: ......
Страница 6: ......
Страница 20: ......
Страница 24: ......
Страница 39: ...RTX Tiny 39 4...
Страница 40: ......
Страница 44: ...44 RTX51 Tiny Specifications 5...
Страница 68: ...RTX51 TINY REAL TIME OPERATING SYSTEM User s Guide 2 95...