jiangzhimin 发表于 2024-3-28 17:26:50

移植野火UCOSiii-中断管理例程后总在中断中跳不出来?

用ucosIII例程移植自己做板子在按键中断中 无法跳出 什么原因,总在中断中执行什么原因,

void KEY1_IRQHandler(void)
{

OS_ERR   err;
       
        OSIntEnter();                                            //进入中断
       
//确保是否产生了EXTI Line中断
        if(EXTI_GetITStatus(KEY1_INT_EXTI_LINE) != RESET)
        {
                /* 发送任务信号量到任务 AppTaskKey */
                OSTaskSemPost((OS_TCB*)&AppTaskKeyTCB,   //目标任务
                                                                        (OS_OPT   )OS_OPT_POST_NONE, //没选项要求
                                                                        (OS_ERR*)&err);            //返回错误类型               

                //清除中断标志位
                EXTI_ClearITPendingBit(KEY1_INT_EXTI_LINE);   
        }

        OSIntExit();             
}


另个例程中有串口中断和按键中断
OSTaskSemPend ((OS_TICK   )0,                     //无期限等待
                                                                       (OS_OPT    )OS_OPT_PEND_BLOCKING,//如果信号量不可用就等待
                                                                       (CPU_TS   *)0,                     //获取信号量被发布的时间戳
                                                                       (OS_ERR   *)&err);               //返回错误类型

都用了等待函数,程序是怎么区分 按键中断和串口中断呢

hpdell 发表于 2024-4-9 10:35:27

是不是中断太频繁 ?
页: [1]
查看完整版本: 移植野火UCOSiii-中断管理例程后总在中断中跳不出来?