野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8634|回复: 2

关于中断清除的问题

[复制链接]
发表于 2017-12-7 09:14:26 | 显示全部楼层 |阅读模式
函数1:
/**
  * @brief  Clears the EXTI's line pending flags.
  * @param  EXTI_Line: specifies the EXTI lines flags to clear.
  *   This parameter can be any combination of EXTI_Linex where x can be (0..19).
  * @retval None
  */
void EXTI_ClearFlag(uint32_t EXTI_Line)
{
  /* Check the parameters */
  assert_param(IS_EXTI_LINE(EXTI_Line));

  EXTI->PR = EXTI_Line;
}

函数2:
/**
  * @brief  Clears the EXTI's line pending bits.
  * @param  EXTI_Line: specifies the EXTI lines to clear.
  *   This parameter can be any combination of EXTI_Linex where x can be (0..19).
  * @retval None
  */
void EXTI_ClearITPendingBit(uint32_t EXTI_Line)
{
  /* Check the parameters */
  assert_param(IS_EXTI_LINE(EXTI_Line));

  EXTI->PR = EXTI_Line;
}

这两个函数,功能描述只有一字之差,但是代码实现完全一致,请问这两个函数区别在哪里?或者说什么情况下使用哪一个函数

回复

使用道具 举报

发表于 2017-12-7 09:32:47 | 显示全部楼层
是一样的,只是库一般都会提供这两个函数,那我们就按习惯在中断里用带IT的,不用中断就用不带IT的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-7 11:47:17 | 显示全部楼层
flyleaf 发表于 2017-12-7 09:32
是一样的,只是库一般都会提供这两个函数,那我们就按习惯在中断里用带IT的,不用中断就用不带IT的

好的  记着了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 07:36 , Processed in 0.030371 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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