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
请各位高手说说我的程序那里错了!!! 呵呵,问题解决了,是OS_CFG.H文件中的OS_MUTEX_EN变量没有置1.
页:
[1]