本帖最后由 Jekele 于 2020-11-9 11:36 编辑
之前学了一项新技能,就是MCU实际工作频率测量。废话不多说,直接进入主题。
1、首先在main函数中初始化MCO引脚PA8。
void MCO_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// 开启GPIOA的时钟
RCC_APB2PeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
// 选择GPIO8引脚
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
2、 在main函数中设置MCO引脚输出时钟,RCC_MCOSource可以输出PLL、SYSCLK、HSE、LSE、HSI、LSI中的一种,RCC_MCODiv可0、2...8、16分频。
RCC_MCOConfig(RCC_MCOSource_PLLCLK, RCC_MCODiv_1);
3、用示波器即可在PA8测量到输出的时钟信号。
就这么简单。
|