STM32微控制器中的MCO功能详解

前言

最近使用一块新的STM32H7+LAN8720的开发板,发现EMAC驱动没有时钟导致初始化不过

仔细查看原理图后才发现,LAN8720并没接25MHz晶振,而是接到了PA8(MCO1)

需要配置才能使以太网正常工作

什么是MCO?

MCO(Microcontroller Clock Output)是STM32微控制器的一个硬件特性,它允许将微控制器内部的时钟源输出到外部引脚。通过该功能,用户可以选择将内部时钟源(如系统时钟、外部晶振、PLL输出等)以特定频率输出到一个指定的引脚(通常是GPIO引脚)。这样,外部电路可以使用该时钟信号进行同步或者监控。

STM32中的MCO输出源

在STM32微控制器中,MCO可以输出多种时钟源。常见的时钟源包括:

  1. HSI (High-Speed Internal):高速内部时钟,通常为8MHz。
  2. HSE (High-Speed External):高速外部时钟,通常由外部晶振提供。
  3. PLL (Phase-Locked Loop):通过PLL生成的时钟,用户可以选择不同的输入时钟并经过倍频输出。
  4. SYSCLK (System Clock):系统时钟,通常是MCU的主时钟频率。

配置(STM32CubeMX)

将PA8配置为MCO功能,并选择时钟

作者:无聊到发博客的菜鸟

物联沃分享整理
物联沃-IOTWORD物联网 » STM32微控制器中的MCO功能详解

发表回复