bhdsd 发表于 2011-2-16 20:59:08

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]
查看完整版本: ucos ii 使用消息邮箱是串口和定时器中断同步碰到的问题。请各位帮忙分析一下