ucos ii 使用消息邮箱是串口和定时器中断同步碰到的问题。请各位帮忙分析一下
我用定时器定时一段时间,然后在定时器中断中发送消息邮箱的信息,在App_TaskFLICKER这个任务中等待邮箱消息,并发送消息给串口。但是现在定时的值非常短(远小于我预想的值),并且每次都发送0xe0 ,我都不知道这个数是哪里来的。 麻烦各位帮忙分析一下,下面是源程序。staticvoidApp_TaskFLICKER(void* p_arg)
{
INT8U err;
p_arg = p_arg;
while(1)
{
s= OSMboxPend(MSGBox,0,&err);
USART_SendData(USART1,*s);
}
}
/*定时器中断*/
void TIM1_UP_IRQHandler(void)
{
/* Clear the TIM1 Update pending bit */
OSIntEnter();
TIM_ClearFlag(TIM3, TIM_FLAG_Update); //清中断标记
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
*s=aa;
aa++;
OSMboxPost(MSGBox,s);
OSIntExit();//在os_core.c文件里定义,如果有更高优先级的任务就绪了,则执行一次任务切换
}
页:
[1]