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