目的
为了查看内部时钟在运行中,频率是否会有偏差
引脚及时钟定义
void MCO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_LSE, RCC_MCODIV_1);
}
HAL_RCC_MCOConfig( )可以配置时钟源
测试函数
int main(void)
{
HAL_Init();
SystemClock_Config();
MCO_Init()
while(1)
{
FEED_IWDG();
}
}
总结
如果发现串口乱码,时间错乱,单片机整体变得很慢,就有可能是时钟频率不稳定,突然变慢造成;排查方向:软件中的时钟配置参数是否正确;硬件的晶振可能有问题。
|