野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14796|回复: 1

iso-mini中睡眠实验初始化按键时,按键为什么要开启AFIO时钟?

[复制链接]
发表于 2015-10-20 17:57:16 | 显示全部楼层 |阅读模式
本帖最后由 小桥流水25 于 2015-10-20 17:59 编辑

最近学到了电源管理的睡眠实验,要用外部中断唤醒CPU,但是当初始化外部中断PC13时还开启了AFIO时钟,尝试把AFIO时钟关闭,就进入不了外部中断.

但是我看以前单独外部中断那一章初始化的是按键1(PA0),就没有开启AFIO时钟,在STM32中也没有找到相关的;作用,想问下,这是为什么?为什么要开启AFIO时钟?

  1. static void NVIC_Configuration(void)
  2. {
  3.   NVIC_InitTypeDef NVIC_InitStructure;
  4.   
  5.   /* Configure one bit for preemption priority */
  6.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  7.   
  8.   /* ÅäÖÃP[A|B|C|D|E]13ÎaÖD¶ÏÔ′ */
  9.   NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
  10.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  11.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  12.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  13.   NVIC_Init(&NVIC_InitStructure);
  14.         

  15.         
  16.         
  17. }

  18. /**
  19.   * @brief  ÅäÖà PC13ÎaÏßÖD¶Ï¿ú£¬2¢éèÖÃÖD¶ÏóÅÏ輶
  20.   * @param  ÎT
  21.   * @retval ÎT
  22.   */
  23. void EXTI_Key_Config(void)
  24. {
  25.         GPIO_InitTypeDef GPIO_InitStructure;
  26.         EXTI_InitTypeDef EXTI_InitStructure;

  27.         /* config the extiline(PC13) clock and AFIO clock */
  28.    <font color="#ff0000">   <b>RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO,ENABLE);   //此处为什么要开启AFIO,看不懂?</b></font>
  29.                                                                                                 
  30.         /* config the NVIC(PC13) */
  31.         NVIC_Configuration();

  32.         /* EXTI line gpio config(PC13) */        
  33.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;      
  34.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;         // é&#207;à-ê&#228;è&#235;
  35.   GPIO_Init(GPIOC, &GPIO_InitStructure);
  36.         

  37.         /* EXTI line(PC13) mode config */
  38.   GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13);
  39.         
  40.   EXTI_InitStructure.EXTI_Line = EXTI_Line13;
  41.   EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  42.   EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //&#207;&#194;&#189;μ&#209;&#216;&#214;D&#182;&#207;
  43.   EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  44.   EXTI_Init(&EXTI_InitStructure);
  45.         
  46. }
复制代码
回复

使用道具 举报

发表于 2015-10-20 19:58:17 | 显示全部楼层
引脚使用中断功能,必须开启afio时钟
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 22:04 , Processed in 0.029346 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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