关于uCOS中调用OSSemPend()导致硬件错误的问题

3450阅读 0评论2013-07-29 sunhenu
分类:嵌入式

我将UCOS移植到STM32系统下测试和学习,在使用信号量的时候发现一个问题。程序卡在APP硬件错误处理程序中,也就是硬件错误,当然不是硬件有问题,而是程序在运行中,有些寄存器或者参数类型不当引起的。这里主要是OSSemPend(MyEventSem,0,p_Semerr);引起的。我们定义了INT8U * p_Semerr,这个变量,然后调用OSSemPend(MyEventSem,0,p_Semerr);就会出现上面的硬件错误。




解决方法如下,定义INT8U Semerr; 调用OSSemPend(MyEventSem,0,&Semerr);,这样问题就解决了。

上一篇:ucos2个任务交替运行
下一篇:altium designer 网络标签作用范围