当前位置:首页 > 单片机 > 单片机
[导读]很多人在问,RCC_APB2ENR中的AFIO位什么时候需要开启?有的人说用到外部中断的时候打开,有的人说引脚重映射的时候打开,等等。这些答案都是片面的,而且总感觉模糊不清。甚至,有些人错误的以为,是不是用到引脚复用

很多人在问,RCC_APB2ENR中的AFIO位什么时候需要开启?

有的人说用到外部中断的时候打开,有的人说引脚重映射的时候打开,等等。这些答案都是片面的,而且总感觉模糊不清。甚至,有些人错误的以为,是不是用到引脚复用功能的时候就打开呢?

不用着急,瑞生今天给大家讲个明白。

请看一下STM32的目录,如下图所示,找到AFIO。

我们点击目录前面的“+”号,打开AFIO的寄存器,如下图所示:

好了,答案出来了:当你需要配置AFIO这些寄存器的时候,就需要把RCC_APB2ENR寄存器的AFIO位置1打开AFIO时钟。

看看这些寄存器的定义,你就明白了,这些寄存器用来“事件控制”“重映射”“调试IO配置”“外部中断”。

总结:当你需要配置这些AFIO寄存器的时候,就需要打开RCC_APB2ENR寄存器的AFIO时钟。并不是用到引脚复用功能的时候打开!

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭