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的我没测试过。

相关推荐
项目題供诗7 分钟前
STM32-PWM驱动LED呼吸灯&PWM驱动直流电机(十三)
stm32·单片机·嵌入式硬件
不脱发的程序猿21 分钟前
如何让Skill同时跑在Cursor、Codex和Claude Code里?
单片机·嵌入式硬件·嵌入式
longxiangam29 分钟前
esp-idf dsi 屏幕的驱动实现原理—— 关于零拷贝和 DMA 永续刷新
c语言·单片机·嵌入式硬件
星夜夏空9933 分钟前
FreeRTOS学习(6)——任务创建
单片机·嵌入式硬件·学习
Lance_mu2 小时前
UFS协议学习大纲
嵌入式硬件·七牛云存储
二进制10112 小时前
基于stm32的按键驱动框架的编写
stm32·单片机·嵌入式硬件
VALENIAN瓦伦尼安教学设备2 小时前
激光对中仪应用行业及全球市场份额解析
大数据·人工智能·嵌入式硬件
coward913 小时前
Linux内核驱动初始化流程认识(关于late_initcall和modul_init驱动初始化宏差异)
linux·嵌入式硬件
ACP广源盛139246256733 小时前
GSV2221@ACP# 高带宽低功耗显示转换芯片,赋能 TRAE SOLO 设备高清扩展升级
人工智能·嵌入式硬件·电脑·音视频
bbaydnog3 小时前
嵌入式面试高频题第4弹:函数指针进阶、堆栈分析、Makefile入门,这3个答不上来就悬了
单片机·面试·职场和发展