清除LINE上的中断标志位的位置问题

2019-07-20 22:40发布

void EXTI3_IRQHandler(void){

#if SYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
    OSIntEnter();
#endif
    //EXTI_ClearITPendingBit(EXTI_Line3);//清除LINE3上的中断标志位
    NVIC_DisableIRQ(EXTI3_IRQn);//中断除能

     CO2_RS485_getOneByte();

    NVIC_EnableIRQ(EXTI3_IRQn);//中断使能
     EXTI_ClearITPendingBit(EXTI_Line3);//清除LINE3上的中断标志位

#if SYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
    OSIntExit();
#endif
}

//////////////////////////////////////////////////////////////////////
//代码是下面这个
http://www.openedv.com/forum.php ... mp;extra=#pid412856

我想问下清除LINE3上的中断标志位     写在第一个位置为什么接收会乱码;而第二个位置不会。有什么要求吗?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。