Available Languages?:

OSA : OS_Task_Create

OS_Task_Create (priority, TaskName)

Not allowed in interrupt

Create task. After creation, the task will be added to the list of active tasks.

For CCS users: Compiler should be informed that TaskName will be called indirectly by using the service OS_Task_Define in main().

For mikroC users: All function-tasks should be defined with the #pragma fncall directive, e.g.:

#pragma fncall main MyTask
void MyTask (void)
{
    …

Call allowed:

Not in interrupt

Parameters:

priority Task priority. Allowed values from 0 (highest) to 7 (lowest).
TaskName Name of C-function to be used as task

Returns:

bError If there is no free descriptor to create task then OS_IsError will return true

Example:

void Task1 (void)
{
    for (;;) OS_Yield();
}
 
void Task2 (void)
{
    for (;;) OS_Yield();
}
 
void main (void)
{
    OS_Init();
 
    OS_Task_Create(1, Task1);    // Create task Task1 with priority 1
    OS_Task_Create(5, Task2);    // Create task Task2 with priority 5
    /*...*/
}

Old style name

OS_CreateTask

See also

 
en/osa/ref/allservices/os_task_create.txt · Last modified: 07.10.2010 13:57 (external edit)
 
Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki