uCOS-III源码精读以后找到的bug,大家一起来讨论下

[复制链接]
498|0
 楼主| 丑帅丑帅的 发表于 2020-3-28 15:34 | 显示全部楼层 |阅读模式
1、flag.c中:
void  OS_FlagTaskRdy (OS_TCB    *p_tcb,
                       OS_FLAGS   flags_rdy,
                       CPU_TS     ts)
{
   p_tcb->FlagsRdy   = flags_rdy;
p_tcb->PendStatus= OS_STATUS_PEND_OK;                 p_tcb->PendOn     = OS_TASK_PEND_ON_NOTHING;           
   p_tcb->TS         = ts;
   switch (p_tcb->TaskState) {
       case OS_TASK_STATE_RDY:
       case OS_TASK_STATE_DLY:
       case OS_TASK_STATE_DLY_SUSPENDED:
       case OS_TASK_STATE_SUSPENDED:
            break;

       case OS_TASK_STATE_PEND:
       case OS_TASK_STATE_PEND_TIMEOUT:
            OS_TaskRdy(p_tcb);
            p_tcb->TaskState = OS_TASK_STATE_RDY;
            break;

       case OS_TASK_STATE_PEND_SUSPENDED:
       case OS_TASK_STATE_PEND_TIMEOUT_SUSPENDED:
             p_tcb->TaskState =OS_TASK_STATE_SUSPENDED;    //这里应该有                   //OS_TickListRemove(p_tcb);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

741

主题

742

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部