[应用相关] STM32 APB2 AFIO时钟什么时候需要开启

[复制链接]
 楼主| 两只袜子 发表于 2021-10-14 09:50 | 显示全部楼层 |阅读模式
很多人在问,RCC_APB2ENR中的AFIO位什么时候需要开启?
有的人说用到外部中断的时候打开,有的人说引脚重映射的时候打开,等等。这些答案都是片面的,而且总感觉模糊不清。甚至,有些人错误的以为,是不是用到引脚复用功能的时候就打开呢?
请看一下STM32的目录,如下图所示,找到AFIO。
10784a7bff424c3496e081ef0b2582b8?from=pc.jpg

我们点击目录前面的“+”号,打开AFIO的寄存器,如下图所示:
2eab976e13f2415f9d565791e94585d2?from=pc.jpg

好了,答案出来了:当你需要配置AFIO这些寄存器的时候,就需要把RCC_APB2ENR寄存器的AFIO位置1打开AFIO时钟。
看看这些寄存器的定义,你就明白了,这些寄存器用来“事件控制”“重映射”“调试IO配置”“外部中断”。
总结:当你需要配置这些AFIO寄存器的时候,就需要打开RCC_APB2ENR寄存器的AFIO时钟。并不是用到引脚复用功能的时候打开!
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);





coshi 发表于 2021-11-4 20:38 | 显示全部楼层
这个是什么时钟啊
zljiu 发表于 2021-11-4 20:42 | 显示全部楼层
它主要用于做什么呢
wiba 发表于 2021-11-4 20:45 | 显示全部楼层
什么时候配置比较合适啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8117

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部

2122

主题

8117

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部