292302877 发表于 2012-12-9 12:09:50

UCOS_II 系统有中断就会死机,不知道是什么问题?

STM32+UCOS2.91
UCOS_II 系统有中断就会死机,不知道是什么问题。下面是串口的中断函数,只要有一个串口中断系统就“OVER”了,
不知道中断函数这样写是不是正确的,还是别的地方有问题,哪位知道的帮忙指导 下,谢谢。


void USART2_IRQHandler(void)
{
        static u8 rx_count = 0;               
    OS_CPU_SRcpu_sr;
        OSIntEnter();

    OS_ENTER_CRITICAL();
    OSIntNesting++;
    OS_EXIT_CRITICAL();
        if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
        {

                USART_ClearITPendingBit(USART2,USART_IT_RXNE);
//                if(!Uart2Rx)//数据已经被读取
//                        rx_count = 0;
//                               
//                Uart2Rx = USART_ReceiveData(USART2);
//                if(rx_count >2)
//                  rx_count = 0;
        }
      OSIntExit();   /* Tell uC/OS-II that we are leaving the ISR          */
}

akwkevin2011 发表于 2012-12-9 12:32:29

中断死在哪个地方了?
我是这样写中断的,可用.
{
       OSIntEnter();
       //自己的代码
      OSIntExit();
}



OS_ENTER_CRITICAL();
    OSIntNesting++;
    OS_EXIT_CRITICAL();
这一部分应该重复了OSIntEnter(); 的工作.

292302877 发表于 2012-12-9 13:31:47

akwkevin2011 发表于 2012-12-9 12:32 static/image/common/back.gif
中断死在哪个地方了?
我是这样写中断的,可用.
{


多谢提醒,我再试试看。

中国力量 发表于 2013-2-25 01:25:51

这个真的不错

zhangpisces 发表于 2013-3-4 12:34:35

可以在线调试,看看PC指向哪里了?
页: [1]
查看完整版本: UCOS_II 系统有中断就会死机,不知道是什么问题?