在ucos系统下,建立了两个任务,还有一个中断(串口中断),其中一个任务的代码如下:
for (;;)
{
OSTimeDly(200);
// OSMboxPost(UApacket_Mbox, (void *)Buf);
}
另一个任务代码如下:
for(;;)
{
cp = (uint8 *)OSMboxPend(UApacket_Mbox, 0, &err);
UART0Putch(*cp); //通过串口打印出cp的值
}
现在发现在第一个任务中使用OSMboxPost()发送消息,第二个任务能够顺利打印出串口信息。
但是,我把OSMboxPost()函数放入中断中,邮箱并怎么也收不到消息了。这是什么情况?经过调试,我敢肯定中断中肯定进去了,OSMboxPost()肯定执行过了,我就是不知道为什么邮箱收不到消息? |