Cjy_JDxy 发表于 2017-10-17 11:27

OS_MEM提示没定义

我看周航慈的书《基于嵌入式实时操作系统的程序设计技术》。
看到第163页,
我用我的开发板做实验,把上面的实验挨个做。
第163页是使用消息队列传输数据。
有一行代码:
OS_MEM *PartitionPt;                                  //定义内存分区指针
这行编译有错误。

请问高手,如何解决?谢谢!



hxfxt 发表于 2017-10-17 12:43

应该是缺少头文件。。。。试一下这个#include "os.h",看管用不,不知道你用的ucos ii 还是ucos iii

Cjy_JDxy 发表于 2017-10-17 12:45

hxfxt 发表于 2017-10-17 12:43
应该是缺少头文件。。。。试一下这个#include "os.h",看管用不,不知道你用的ucos ii 还是ucos iii ...

没有这个头文件。UCOSII

hxfxt 发表于 2017-10-17 12:46

Cjy_JDxy 发表于 2017-10-17 12:45
没有这个头文件。UCOSII

那我也帮不了你了,我在用的是ucos iii你仔细看下哪里有包含这个数据类型的.h文件

hxfxt 发表于 2017-10-17 12:59

另外检查下ucos是否启用相关功能,也就是在ucos系统配置文件里面是否启用相关的宏定义

Cjy_JDxy 发表于 2017-10-17 13:57

hxfxt 发表于 2017-10-17 12:59
另外检查下ucos是否启用相关功能,也就是在ucos系统配置文件里面是否启用相关的宏定义 ...

谢谢!我搞好了。现在又出现新问题、
OS_EVENT *ReMsgQeue;


hxfxt 发表于 2017-10-17 14:08

Cjy_JDxy 发表于 2017-10-17 13:57
谢谢!我搞好了。现在又出现新问题、
OS_EVENT *ReMsgQeue;

英文翻译一下不就知道了吗?{:sweat:}

Cjy_JDxy 发表于 2017-10-17 14:12

hxfxt 发表于 2017-10-17 14:08
英文翻译一下不就知道了吗?

说是整形变量不能指定为OS_EVENT类型的的返回值,可是ReMsgQeue是OS_EVENT类型的
OS_EVENT *ReMsgQeue;

hxfxt 发表于 2017-10-17 14:26

Cjy_JDxy 发表于 2017-10-17 14:12
说是整形变量不能指定为OS_EVENT类型的的返回值,可是ReMsgQeue是OS_EVENT类型的
OS_EVENT *ReMsgQeue;
...

我这边没有源码,也不好说是哪里的问题,你看看那个函数参数里面的“10”是不是说的是这个整数,或者检查下该函数的返回值是不是你赋值的那个类型

Cjy_JDxy 发表于 2017-10-17 14:41

hxfxt 发表于 2017-10-17 14:26
我这边没有源码,也不好说是哪里的问题,你看看那个函数参数里面的“10”是不是说的是这个整数,或者检查 ...

不是那个10.函数原型是这样的:

Cjy_JDxy 发表于 2017-10-17 15:26

搞好了。

把OS_Q_EN置成1就好了。
页: [1]
查看完整版本: OS_MEM提示没定义