这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » uCOS,II 只有两个任务的uCOS-II程序

共2条 1/1 1 跳转至

uCOS,II 只有两个任务的uCOS-II程序

院士
2006-09-17 18:14:16     打赏
uCOS,II 只有两个任务的uCOS-II程序



关键词: 只有     两个     任务     uCOS-II     程序    

院士
2006-12-22 22:43:00     打赏
2楼
问 我仿照LPC2100中的例子编了一个只有两个任务的uCOS-II程序,结构如下:

int main(void){
OSInit();
    OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
    OSStart();
    return 0;
}

void TaskStart(void *pdata ) {
初始化;
OSTaskCreate(Task, (void *)0, &TaskStk[TASK_STK_SIZE - 1], 10);
    while(1){
}
}

void Task(void *pdata ) {
初始化;
while(1){
}
}

但得到如下错误:

Error   : C3028E: <argument 3 to 'OSTaskCreate'>: implicit cast of pointer to non-equal pointer test.c line 407     错误语句为TaskStart()中的OSTaskCreate()。

请问是什么原因?
多谢  
1: 没有强制转换参数TaskStartStk的数据类型TaskStartStk是OS_STK类型的数组,所以在取地址运算之后还必须强制转换为指向OS_STK类型的指针:
OSTaskCreate(TaskStart, (void *)0, (OS_STK *)&TaskStartStk[TASK_STK_SIZE - 1], 0); 2: 是不是Task是关键字呢?哈哈,不太清楚

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]