jubufangdian 发表于 2010-10-23 13:25

在ucos中,定义中断的问题

你好,在ucos中,怎么定义中断啊
我想在例程uCOS_for_LandTiger(IAR)中
添加个外部中断EINT0(用按键激发),
但程序进入不了中断处理函数。
在工程目录bsp(板载资源)下有bsp_int.c
在bsp/bsp_int.c中,好像定义了中断处理函数
voidBSP_IntHandlerRTC         (void){ BSP_IntHandler(BSP_INT_SRC_NBR_RTC);         }
voidBSP_IntHandlerEINT0         (void){ BSP_IntHandler(BSP_INT_SRC_NBR_EINT0);         }
staticvoidBSP_IntHandler (CPU_DATAint_id)
{
    CPU_FNCT_VOIDisr;
    CPU_SR_ALLOC();
    CPU_CRITICAL_ENTER();                                       /* Tell the OS that we are starting an ISR            */
    OSIntEnter();
    CPU_CRITICAL_EXIT();
      if (int_id < BSP_INT_SRC_NBR_MAX) {
      isr = BSP_IntVectTbl;
      if (isr != (CPU_FNCT_VOID)0) {
            isr();
      }
    }
    OSIntExit();                                                /* Tell the OS that we are leaving the ISR            */
}

但BSP_IntHandlerEINT0,仍然无法激发
请问,怎么才能进入中断处理啊!!
谢谢!!!
转自Tony嵌入式论坛,地址:http://www.cevx.com/bbs/thread-32047-1-1.html

qhuang 发表于 2010-10-24 09:27

你需要在你的NVIC_Configuration()函数中,配置好EINT0对应的IO口,同时需要使能EINT0中断,才可以啊。

ji_dan 发表于 2010-11-12 12:30

要在你的UC/OS任务中调用中断函数啊
页: [1]
查看完整版本: 在ucos中,定义中断的问题