STM32F103 AFIO时钟疑问

在stm32F103系列中:AFIO是重映射辅助时钟,如果仅仅是使用第二功能(如uart,spi,),不需要打开,使用第二功能打开GPIO和第二功能时钟。我反复测试是这样的

AFIO时钟由RCC_APB2ENR寄存器的位0控制;

APB2外设时钟使能寄存器(RCC_APB2ENR)  的第0位AFIOEN 辅助功能IO时钟使能在那些时候,需要开启呢? 
--------------------------------- 
配置stm32的事件输出/外部中断/重映射的时候.就必须开启AFIO时钟. 
假如使用的管脚里头默认复用的外设功能并不需要开AFIO时钟  

说的很明白,操作AFIO的三类寄存器时需要开启: 
1.事件控制寄存器(AFIO_EVCR)
2.复用重映射和调试I/O配置寄存器(AFIO_MAPR)
3.外部中断配置寄存器x(AFIO_EXTICRx)
这三类其实是AFIO的全部寄存器, AFIO_EVCR是事件相关的,AFIO_MAPR是与重映射和调试I/O相关的,AFIO_EXTICRx是与外部中断相关的。因此管脚重映射和调试I/O配置、外部中断、事件时需开启AFIO。

参考:http://blog.csdn.net/qq_14997473/article/details/47041147

切记:F4系列中并不是这样的

原文地址:https://www.cnblogs.com/prayer521/p/6851716.html