stm32何时使用AFIO时钟
**AFIO**英文解释为:Alternate function I/O
👀“alternate ”备用的、可替代的,因此, AFIO可译为“备用功能I/O”,以备不时之需。
但是我们一般都理解为复用时钟,因为使用复用功能常常开启这个时钟,但是
串口也是复用,但是不需要开启这个时钟,为什么SPI相关的引脚也配置为复用但并没有开启AFIO时钟也能正常工作。所以AFIO时钟应该什么时候开呢?Why?
👀 跟 AFIO 相关的寄存器有:
1、 事件控制寄存器(AFIO_EVCR)
2、 复用重映射和调试I/O 配置寄存器(AFIO_MAPR)
3、 外部中断配置寄存器1(AFIO_EXTICR1)
4、 外部中断配置寄存器2(AFIO_EXTICR2)
5、 外部中断配置寄存器3(AFIO_EXTICR3)
6、 外部中断配置寄存器4(AFIO_EXTICR4)
👀注意:只有用到的外设涉及到了上述寄存器才要开启AFIO时钟,我们用串口时候,是复用了,但是并没有配置(AFIO_MAPR),所以不用开启那个时钟,但是开启了也没事,就是耗一些资源而已。
值得注意的是,当使用串口的重映射功能时候,就用到了那个寄存器,就得开启AFIO时钟。请看:👇
总之:复用不一定开启,重映射就要开启了。AFIO不要片面理解为复用,要理解它的英文含义。