STM32/AT32 MCO管脚输出时钟配置

前言:最近在学以太网通讯,发现RMII接口配置的时钟管脚有MCU自己输出,想要看看是怎么输出的,对此进行记录

1、交接项目项目上使用的是PA8管脚来输出时钟50MHZ,提供给上面refclk。

先看手册

PA8的复用功能具备将MCU时钟输出,又叫MCO时钟输出脚。

2、配置输出

下面我以AT32F407VGT7举例

//PA8作为时钟输出引脚进行时钟的测试void GPIO_Configuration(void)

{

GPIO_InitType GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_AFIO, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA, ENABLE);

GPIO_InitStructure.GPIO_Pins = GPIO_Pins_8;

GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(GPIOA, &GPIO_InitStructure);

RCC_CLKOUTConfig(RCC_CLKOUT_SYSCLK, RCC_MCOPRE_4); /*50M

}

上面使用的系统时钟,由于我系统时钟是200MHZ,进行了4分频,所以输出50MHZ

值得注意的是:GPIO输出管脚的最大响应频率为50MHz,如果输出频率超过50MHz,则输出的波形会失真。

所以我们使用尽量不要超过,当然芯片是留有余量的,网上有网友测试ST的,超过了50MHZ输出也是正常,如下图。AT的我没测试过。

相关推荐
Heartache boy9 小时前
野火STM32_HAL库版课程笔记-手动建立工程模板与CubeMX后续用法(重要)
笔记·stm32·单片机·嵌入式硬件
可乐鸡翅好好吃13 小时前
UUID----私有服务与公有服务
嵌入式硬件
Wave84513 小时前
Freertos中PendSV与sysTick
单片机·嵌入式硬件
jghhh0113 小时前
带红外抄板和LCD显示的单相电能表设计
stm32·单片机·嵌入式硬件
wggmrlee15 小时前
GD32 vs STM32
单片机·嵌入式硬件
czhaii15 小时前
STM32 F103 Altium一键下载PCB图
stm32·单片机·嵌入式硬件
雾削木15 小时前
基于STM32F411RET6 + 双路MB85RS2MT的铁电U盘
stm32·单片机·嵌入式硬件
笨笨饿15 小时前
33_顺序表(待完善)
linux·服务器·c语言·嵌入式硬件·算法·学习方法
点灯小铭15 小时前
基于单片机的多路温湿度采集与WIFI智能报警控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
嵌入式×边缘AI:打怪升级日志16 小时前
MX6ULL 的 GPIO 操作方法(保姆级教程)
stm32·单片机·嵌入式硬件