如何将任务函数添加到ucos系统中
展开全部
首先OS初始化 然后创建任务 最后OS启动
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数如下:
OSTaskCreate
//***********************************************************************************
#include <includes.h>
#define TASK_STK_SIZE 128 //定义任务堆栈的大小
OS_STK TaskOneStack[TASK_STK_SIZE]; //为任务TaskOne建立一个堆栈
OS_STK TaskTwoStack[TASK_STK_SIZE]; //为任务TaskTwo建立一个堆栈
void TaskOne(void *p_arg);
void TaskTwo(void *p_arg);
void main(void)
{
OSInit(); //初始化ucos
//建立任务TaskOne,无数据区指针, 堆栈指针, 优先级6
OSTaskCreate(TaskOne, 0 , &TaskOneStack[TASK_STK_SIZE-1], 6 );
//建立任务TaskTwo,无数据区指针, 堆栈指针, 优先级8
OSTaskCreate(TaskTwo, 0 , &TaskTwoStack[TASK_STK_SIZE-1], 8 );
OSStart(); //开始运行ucos
}
void TaskOne(void *p_arg)
{
p_arg = p_arg; //无用,仅为消除编译器报警
while (1) //任务体,总是死循环
{
printf("TaskOne: 我在运行!\n"); //打印
OSTimeDlyHMSM(0, 0, 2, 0); //延时0小时0分1秒0毫秒
}
}
void TaskTwo(void *p_arg)
{
p_arg = p_arg; //无用,仅为消除编译器报警
while (1) //任务体,总是死循环
{
printf(" TaskTwo: 我处在运行中!\n"); //打印
OSTimeDlyHMSM(0, 0, 5, 0); //延时0小时0分2秒0毫秒
}
}
//***********************************************************************************
OSTaskCreate
//***********************************************************************************
#include <includes.h>
#define TASK_STK_SIZE 128 //定义任务堆栈的大小
OS_STK TaskOneStack[TASK_STK_SIZE]; //为任务TaskOne建立一个堆栈
OS_STK TaskTwoStack[TASK_STK_SIZE]; //为任务TaskTwo建立一个堆栈
void TaskOne(void *p_arg);
void TaskTwo(void *p_arg);
void main(void)
{
OSInit(); //初始化ucos
//建立任务TaskOne,无数据区指针, 堆栈指针, 优先级6
OSTaskCreate(TaskOne, 0 , &TaskOneStack[TASK_STK_SIZE-1], 6 );
//建立任务TaskTwo,无数据区指针, 堆栈指针, 优先级8
OSTaskCreate(TaskTwo, 0 , &TaskTwoStack[TASK_STK_SIZE-1], 8 );
OSStart(); //开始运行ucos
}
void TaskOne(void *p_arg)
{
p_arg = p_arg; //无用,仅为消除编译器报警
while (1) //任务体,总是死循环
{
printf("TaskOne: 我在运行!\n"); //打印
OSTimeDlyHMSM(0, 0, 2, 0); //延时0小时0分1秒0毫秒
}
}
void TaskTwo(void *p_arg)
{
p_arg = p_arg; //无用,仅为消除编译器报警
while (1) //任务体,总是死循环
{
printf(" TaskTwo: 我处在运行中!\n"); //打印
OSTimeDlyHMSM(0, 0, 5, 0); //延时0小时0分2秒0毫秒
}
}
//***********************************************************************************
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
OSTaskCreate
//***********************************************************************************
#include <includes.h>
#define TASK_STK_SIZE 128 //定义任务堆栈的大小
OS_STK TaskOneStack[TASK_STK_SIZE]; //为任务TaskOne建立一个堆栈
OS_STK TaskTwoStack[TASK_STK_SIZE]; //为任务TaskTwo建立一个堆栈
void TaskOne(void *p_arg);
void TaskTwo(void *p_arg);
void main(void)
{
OSInit(); //初始化ucos
//建立任务TaskOne,无数据区指针, 堆栈指针, 优先级6
OSTaskCreate(TaskOne, 0 , &TaskOneStack[TASK_STK_SIZE-1], 6 );
//建立任务TaskTwo,无数据区指针, 堆栈指针, 优先级8
OSTaskCreate(TaskTwo, 0 , &TaskTwoStack[TASK_STK_SIZE-1], 8 );
OSStart(); //开始运行ucos
}
void TaskOne(void *p_arg)
{
p_arg = p_arg; //无用,仅为消除编译器报警
while (1) //任务体,总是死循环
{
printf("TaskOne: 我在运行!\n"); //打印
OSTimeDlyHMSM(0, 0, 2, 0); //延时0小时0分1秒0毫秒
}
}
void TaskTwo(void *p_arg)
{
p_arg = p_arg; //无用,仅为消除编译器报警
while (1) //任务体,总是死循环
{
printf(" TaskTwo: 我处在运行中!\n"); //打印
OSTimeDlyHMSM(0, 0, 5, 0); //延时0小时0分2秒0毫秒
}
}
//***********************************************************************************
//***********************************************************************************
#include <includes.h>
#define TASK_STK_SIZE 128 //定义任务堆栈的大小
OS_STK TaskOneStack[TASK_STK_SIZE]; //为任务TaskOne建立一个堆栈
OS_STK TaskTwoStack[TASK_STK_SIZE]; //为任务TaskTwo建立一个堆栈
void TaskOne(void *p_arg);
void TaskTwo(void *p_arg);
void main(void)
{
OSInit(); //初始化ucos
//建立任务TaskOne,无数据区指针, 堆栈指针, 优先级6
OSTaskCreate(TaskOne, 0 , &TaskOneStack[TASK_STK_SIZE-1], 6 );
//建立任务TaskTwo,无数据区指针, 堆栈指针, 优先级8
OSTaskCreate(TaskTwo, 0 , &TaskTwoStack[TASK_STK_SIZE-1], 8 );
OSStart(); //开始运行ucos
}
void TaskOne(void *p_arg)
{
p_arg = p_arg; //无用,仅为消除编译器报警
while (1) //任务体,总是死循环
{
printf("TaskOne: 我在运行!\n"); //打印
OSTimeDlyHMSM(0, 0, 2, 0); //延时0小时0分1秒0毫秒
}
}
void TaskTwo(void *p_arg)
{
p_arg = p_arg; //无用,仅为消除编译器报警
while (1) //任务体,总是死循环
{
printf(" TaskTwo: 我处在运行中!\n"); //打印
OSTimeDlyHMSM(0, 0, 5, 0); //延时0小时0分2秒0毫秒
}
}
//***********************************************************************************
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没明白你提问的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询