DSP/BIOS实时操作系统中PIP对象多任务间传递数据示例程序

#include <std.h>

#include <log.h>
#include <tsk.h>

#include "tskcfg.h"

Void main()
{

}

Void mytest()
{   
    int *add;
    int i,j;

    LOG_printf(&trace, "Task mytest() DONE");
    if(PIP_getWriterNumFrames(&pip1)<=0)
        return;
    PIP_alloc(&pip1);
    add=PIP_getWriterAddr(&pip1);
    for(j=0;j<100;j++)
    {
        *add++ = j;
        LOG_printf(&trace, "add[%d]=%d",j,j);
    }
    PIP_put(&pip1);
}

Void mytest2()
{
    int *add1;
    int i,j;
    int buf[10];

    LOG_printf(&trace, "Task mytest2() DONE");
    if(PIP_getWriterNumFrames(&pip1)<=0)
        return;
    PIP_get(&pip1);
    add1 = PIP_getReaderAddr(&pip1);
    for(j=0;j<100;j++)
    {
        buf[j]=0;
        buf[j]=*add1++;
        LOG_printf(&trace, "buf[%d]=%d",j,buf[j]);
    }
    PIP_free(&pip1);

}

任务1:mytest和任务2:mytest2,使用管道对象pip1来实现数据传递。

示例程序方便理解和记忆。

你可能感兴趣的:(pip,数据传递,多任务,DSP/BIOS,管道对象)