为什么这个串口中断服务函数不用清除标志位呢

2019-07-20 05:43发布

void USART2_IRQHandler(void)                       
{
        u8 Res=0;
        Res = USART_ReceiveData(USART2);
        Uart2_Buf[First_Int] = Res;            //将接收到的字符串存到缓存中
        First_Int++;                          //缓存指针向后移动
        if(First_Int > Buf2_Max)                 //如果缓存满,将缓存指针指向缓存的首地址
        {
                First_Int = 0;
        }   
        //add
        if(has_call_flag == 1)
        {
                if(First_Int > 8) //接收8个字符后 就可以进行判定了
                {
                        find_string_flag = 1;
                }
        }
}        

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
HXYDJ
1楼-- · 2019-07-20 10:04
 精彩回答 2  元偷偷看……
晴天qaq
2楼-- · 2019-07-20 15:37
不是只要是中断服务函数都要清标志位吗 不然就一直在中断里面了 别的函数都执行不了
yklstudent
3楼-- · 2019-07-20 18:03
没看手册吧,把芯片手册相关部分仔细看看
晴天qaq
4楼-- · 2019-07-20 23:02
 精彩回答 2  元偷偷看……
晴天qaq
5楼-- · 2019-07-21 03:13
 精彩回答 2  元偷偷看……

一周热门 更多>