STM32的AFIO时钟何时开启

首先为什么要开启时钟?

答:因为要对寄存器进行读写!而在STM32中对寄存器的读写都是要打开寄存器对应的时钟才可以的【就像人一样,有了跳动的脉搏手臂才能有能量才能进行各种动作】。

然后就什么时候AFIO时钟开启(所有时钟都是这样)就清楚了:当需要对“AFIO时钟管理的寄存器”进行读写时AFIO时钟打开!当然不对“AFIO时钟管理的寄存器”读写时也可以打开AFIO时钟,此时只是白白增加能耗、写无用代码(白白浪费程序存储器空间)而已!

接下来:跟AFIO相关的寄存器有哪些呢?

答:根据《STM32中文参考手册_V10》有:事件控制寄存器(AFIO_EVCR)、复用重映射和调试I/O 配置寄存器(AFIO_MAPR)、外部中断配置寄存器1(AFIO_EXTICR1)、外部中断配置寄存器2(AFIO_EXTICR2)、外部中断配置寄存器3(AFIO_EXTICR3)、外部中断配置寄存器4(AFIO_EXTICR4)。

应用:在usart1串口通信没有端口重映射时为什么不打开AFIO时钟?PA9PA10作为通用I/O口也复用了,为什么不打开为什么不打开复用时钟?

答:AFIO全称:Alternate function I/O  alternate备用的、替代的、交替的,所以AFIO可翻译为“备用功能I/O”,原英文手册上解释很清楚:[《STM32英文手册》P152]

To optimize the number of peripherals available for the 64-pin or the 100-pin or the 144-pin package, it is possible to remap some alternate functions to some other pins. This is achieved by software, by programming the AF remap and debug I/O configuration register(AFIO_MAPR) on page 159. In this case, the alternate functions are no longer mapped to their original assignations.


可见AFIO就设计用来remap some alternate functions to some other pins的,所以根本就没有什么“复用”之说,看来都是翻译惹的祸!另外看一下I/O复用时的情况就更清楚了


  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值