STM32 APB2 AFIO时钟什么时候需要开启
扫描二维码
随时随地手机看文章
很多人在问,RCC_APB2ENR中的AFIO位什么时候需要开启?
有的人说用到外部中断的时候打开,有的人说引脚重映射的时候打开,等等。这些答案都是片面的,而且总感觉模糊不清。甚至,有些人错误的以为,是不是用到引脚复用功能的时候就打开呢?
不用着急,瑞生今天给大家讲个明白。
请看一下STM32的目录,如下图所示,找到AFIO。
我们点击目录前面的“+”号,打开AFIO的寄存器,如下图所示:
好了,答案出来了:当你需要配置AFIO这些寄存器的时候,就需要把RCC_APB2ENR寄存器的AFIO位置1打开AFIO时钟。
看看这些寄存器的定义,你就明白了,这些寄存器用来“事件控制”“重映射”“调试IO配置”“外部中断”。
总结:当你需要配置这些AFIO寄存器的时候,就需要打开RCC_APB2ENR寄存器的AFIO时钟。并不是用到引脚复用功能的时候打开!
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);