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

相关推荐
xiaohai@Linux41 分钟前
ESP32 IDF v5.3.1 驱动 CST816T 触摸芯片(I2C 协议)
单片机·嵌入式硬件·触摸·i2c·cst816t
zd84510150042 分钟前
16bit ADC+DAC模拟量控制板第二方案设计
单片机·嵌入式硬件
星一工作室2 小时前
STM32项目分享:基于stm32的自动升降棋系统
stm32·单片机·嵌入式硬件
up向上up2 小时前
基于STM32温湿度采集Proteus仿真设计
stm32·单片机·proteus
d111111111d3 小时前
江协科技-PID基本原理-(学习笔记)-主页有所有STM32外设的笔记基本都是万字起步。
笔记·科技·stm32·单片机·嵌入式硬件·学习
wotaifuzao4 小时前
Nordic-nRF54L 系列架构全景:从蓝牙 6.0 到超低功耗设计详解
单片机·物联网·硬件架构·蓝牙·nordic
xiaohai@Linux4 小时前
STM32上使用HAL库驱动9针FC手柄实现游戏自由!
stm32·fc游戏手柄
1+2单片机电子设计5 小时前
基于 STM32 的太阳能 MPPT 充电控制器设计
stm32·单片机·嵌入式硬件
Stanford_sun6 小时前
基于Zigbee的无线火灾报警系统(云平台版)
网络·嵌入式硬件·物联网·zigbee
CFZPL6 小时前
espidf用CMake文件构建项目
单片机·esp32