OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3605|回复: 5

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

[复制链接]

3

主题

11

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2018-9-11
在线时间
13 小时
发表于 2018-10-15 11:56:31 | 显示全部楼层 |阅读模式
1金钱
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;
                }
        }
}        

最佳答案

查看完整内容[请看2#楼]

读数据的时候会自动清除标志位
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-10-15 11:56:32 | 显示全部楼层
读数据的时候会自动清除标志位
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2018-9-11
在线时间
13 小时
 楼主| 发表于 2018-10-15 11:57:35 | 显示全部楼层
不是只要是中断服务函数都要清标志位吗 不然就一直在中断里面了 别的函数都执行不了
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2018-10-15 12:07:56 来自手机 | 显示全部楼层
没看手册吧,把芯片手册相关部分仔细看看
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2018-9-11
在线时间
13 小时
 楼主| 发表于 2018-10-15 12:30:49 | 显示全部楼层
那这串代码也没有对DR寄存器进行读操作啊
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2018-9-11
在线时间
13 小时
 楼主| 发表于 2018-10-15 13:29:47 | 显示全部楼层
好吧 是我眼瞎 对库函数不熟悉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 17:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表