Keil RTX51 Manual page 47

Table of Contents

Advertisement

RTX TINY
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
located in the
rectory. The contents of
/******************************************************************************/
/*
/******************************************************************************/
#pragma CODE DEBUG OBJECTEXTEND
#include <rtx51tny.h>
int counter0;
int counter1;
int counter2;
int counter3;
/******************************************************************************/
/*
Task 0 'job0':
/******************************************************************************/
job0 () _task_ 0
os_create_task (1);
os_create_task (2);
os_create_task (3);
while (1)
counter0++;
os_wait (K_TMO, 5, 0);
}
}
/******************************************************************************/
/*
Task 1 'job1':
/******************************************************************************/
job1 () _task_ 1
while (1)
counter1++;
os_wait (K_TMO, 10, 0);
}
}
/******************************************************************************/
/*
Task 2 'job2':
/******************************************************************************/
job2 () _task_ 2
while (1)
counter2++;
if (counter2 == 0)
os_send_signal (3);
}
}
}
/******************************************************************************/
/*
Task 3 'job3':
/******************************************************************************/
job3 () _task_ 3
while (1)
os_wait (K_SIG, 0, 0);
counter3++;
}
}
\C51V4\RTX_TINY\RTX_EX2
RTX_EX2.C
RTX_EX2.C:
A RTX51 Application
RTX51 tiny starts execution with task 0
{
{
RTX51 tiny starts this task with os_create_task (1)
{
{
RTX51 tiny starts this task with os_create_task (2)
{
{
{
RTX51 tiny starts this task with os_create_task (3)
{
{
or
\CDEMO\51\RTX_TINY\RTX_EX2
is listed below.
/* RTX51 tiny functions & defines
/* counter for task 0
/* counter for task 1
/* counter for task 2
/* counter for task 2
/* start task 1
/* start task 2
/* start task 3
/* endless loop
/* increment counter 0
/* wait for timeout: 5 ticks
/* endless loop
/* increment counter 1
/* wait for timeout: 10 ticks
/* endless loop
/* increment counter 2
/* signal overflow of counter 2
/* to task 3
/* endless loop
/* wait for signal
/* process overflow from counter 2
47
RTX_EX2.C
di-
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
6
*/
*/
*/
*/
*/
*/
*/
*/
*/

Advertisement

Table of Contents
loading

Table of Contents