美文网首页
STM32的AFIO时钟什么时候开启?

STM32的AFIO时钟什么时候开启?

作者: 水枂 | 来源:发表于2019-03-13 13:22 被阅读0次

问题描述


在使用STM32的USART2时发现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时钟?PA9、PA10作为通用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的,所以根本就没有什么“复用”之说。

当我们需要配置这些 AFIO 寄存器(只有当我们用到重映射、事件寄存器、配置寄存器、外部中断时)的时候,就需要打开 RCC_APB2ENR 寄存器的 AFIO 时钟,而不是用到引脚复用功能的时候打开。

下面给出几个关于这个问题不错的文章:
STM32之AFIO
STM32的AFIO时钟什么时候需要开启
如何理解STM32引脚中的GPIO,AFIO时钟分配策略和管脚复用
STM32F103:什么时候需要复用IO(AFIO)?
GPIO USART1 AFIO等疑问

相关文章

  • STM32的AFIO时钟什么时候开启?

    问题描述在使用STM32的USART2时发现AFIO时钟无论打不打开串口都能正常工作带着这个问题网上搜集了一些资料...

  • STM32 时钟笔记

    ![STM32时钟1][1] ![STM32时钟2][2] 其中: HSI 时钟由 RCC_HSICmd() 函数...

  • 12/14

    STM32时钟系统在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。①HSI是高速内部时钟,...

  • stm32外设RCC时钟

    引自STM32的时钟系统RCC详细整理

  • 一、stm32最小系统

    STM32最小系统 由四个模块构成:电源电路、时钟电路、复位电路、下载电路 电源电路 时钟电路 STM32最小系统...

  • 嵌入式9月14号总结。

    今天学习了时钟,开始配置内部时钟和外部时钟,展示了时钟的电路图,让我更加了解了stm32的运行模式,内部时钟输出9...

  • RTC 相关

    RTC 是一个独立的定时器,能够在 STM32 的低功耗模式下运行。 选择 RTC 时钟源 RTC 时钟的时钟源能...

  • STM32F10x之外设配置步骤

    在STM32中,外围设备的配置步骤比较固定:1.使能相关的时钟: 使能外设自身的时钟。 使能IO时钟(如果外设使用...

  • STM32F10x之RCC

    1 综述 1.1 时钟源 在STM32中,一共有5个时钟源,分别是HSI、HSE、LSI、LSE、PLL。 HSI...

  • STM32一文通(3) GPIO

    预置知识: 开时钟 STM32 每一个片上外设资源都有自己的时钟,这些时钟被一个叫做RCC的外设统一管理,所以,每...

网友评论

      本文标题:STM32的AFIO时钟什么时候开启?

      本文链接:https://www.haomeiwen.com/subject/vovzpqtx.html