打印

UCOS 建立邮箱导致程序发生错误

[复制链接]
1512|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tencent@qq.com|  楼主 | 2012-8-2 22:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠,我之前用ucos写了一个实时时钟显示的程序,可以完美执行,但是后来我在此程序的基础上新建了一个OS_EVENT* Com1_MBOX  邮箱,编译通过下到板子里就发现程序不能执行,要么死在那里,要么龟速的进行。我发现就只是定义一个OS_EVENT* Com1_MBOX ,不去用它都会导致程序运行错误,求真相,谢谢!

相关帖子

沙发
llf021421| | 2012-8-3 11:26 | 只看该作者
你这种情况很奇怪,看一看是否OS_MBOX_EN是否设为1,不知道你在线调试没,可以看一下在哪个语句出现了错误!

使用特权

评论回复
板凳
tencent@qq.com|  楼主 | 2012-8-3 15:19 | 只看该作者
2# llf021421
谢谢你的回答。我看了一下,OS_MBOX_EN是使能了的,我发现
OS_EVENT* Clock_SEM;        这个信号量是可以正常使用的
//OS_EVENT* Com1_MBOX;  把这个邮箱相关的东西都禁掉后系统就正常了,



还有就是再新建一个任务也会出现死掉的情况,菜鸟伤不起啊

使用特权

评论回复
地板
tencent@qq.com|  楼主 | 2012-8-3 15:37 | 只看该作者
2# llf021421
我调试看了下,程序是死在HardFaultException 这里了 不知道是什么原因

使用特权

评论回复
5
llf021421| | 2012-8-3 17:43 | 只看该作者
你检查一下是不是这个原因,在Com1_MBOX这个变量初始化之前,是否任务,或中断函数里,使用了这个邮箱。这样就造成邮箱还没有赋值,就可以调用其Pend,Post函数的错误。
我以前犯过这样的错误

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
tencent@qq.com + 1
6
tencent@qq.com|  楼主 | 2012-8-4 20:49 | 只看该作者
问题解决了,换了个KEIL版本,然后修改了一些局部变量定义等一些小错误,就好了,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

0

粉丝