野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14508|回复: 2

清除中断标志

[复制链接]
发表于 2015-3-10 20:19:05 | 显示全部楼层 |阅读模式
void EXTI15_10_IRQHandler(void)
{

        if(EXTI_GetFlagStatus(EXTI_Line13)!= RESET)
        {
                LED1_TOGGLE;
                EXTI_ClearFlag(EXTI_Line13);
                //EXTI_ClearITPendingBit(EXTI_Line13);
        }
}
在按键点灯的时候,采用中断方式,中断发生后,清除中断标志的这两个函数有什么不同?

回复

使用道具 举报

发表于 2015-3-10 20:33:03 | 显示全部楼层
可以看看这两个函数的实现,看看它们是对哪个寄存器进行操作的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-10 20:38:53 | 显示全部楼层
函数的实现 都一样,用于点灯的话效果都一样。
void EXTI_ClearITPendingBit(uint32_t EXTI_Line)
{
  /* Check the parameters */
  assert_param(IS_EXTI_LINE(EXTI_Line));
  
  EXTI->PR = EXTI_Line;
}

void EXTI_ClearFlag(uint32_t EXTI_Line)
{
  /* Check the parameters */
  assert_param(IS_EXTI_LINE(EXTI_Line));
  
  EXTI->PR = EXTI_Line;
}
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 19:36 , Processed in 0.062752 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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