pisces_zk 发表于 2011-11-30 09:38:51

uCOS-II的互斥信号量是怎样建立的?

我首先定义了一个互斥信号量 OS_EVENT        *TaskMutex ;在使用OSMutexCreate();函数创建信号量。如下
#include "includes.h"
/******************************
        任务堆栈
*******************************/
OS_STK Task0Stk;

/******************************
        任务函数
******************************/
voidTask0   (void *p_arg);


/******************************
        定义互斥信号量
******************************/
OS_EVENT        *TaskMutex ;

int main(void)
{
       
        INT8U err;
        ChipHalInit();                //片内硬件初始化 ,不能开中断
        ChipOutHalInit();                //片外硬件初始化
        OSInit();                        //UCOS 系统初始化

        TaskMutex=OSMutexCreate( 9,&err);        //创建互斥信号量       
                                                                               
        OSTaskCreate(        Task0,                        //第一个任务0
                        (void *)0,                        //不带参数
                        (OS_STK* )&Task0Stk,        //堆栈指针
                        (INT8U) 10        );                //任务优先级
          OSStart();
   
        while(1);
       
}
出现如下提示错误:
Build target 'Target 1'
compiling main.c...
..\src\main.c(51): warning:#223-D: function "OSMutexCreate" declared implicitly
..\src\main.c(51): error:#513: a value of type "int" cannot be assigned to an entity of type "OS_EVENT *"
Target not created

请各位高手说说我的程序那里错了!!!

pisces_zk 发表于 2011-11-30 10:30:43

呵呵,问题解决了,是OS_CFG.H文件中的OS_MUTEX_EN变量没有置1.
页: [1]
查看完整版本: uCOS-II的互斥信号量是怎样建立的?