为了能用示波器看到系统时钟,决定将系统时钟输出到MCO引脚上去。
弄了一晚上,看见波形了。
首先建立空的工程,将下面三行代码注释掉:
;IMPORT SystemInit ;删除SystemInit自己写RCC初始化函数
;LDR R0, =SystemInit
;BLX R0
下面是设置函数,使用HSI作为系统时钟,不实用PLL,直接将HSI输出到MCO引脚:
void My_RccInitMCOHSI(void)
{
uint8_t temp;
My_Rcc_DeInit();
RCC->CR |= 1<<0; //复位HSION 开启内部时钟;其实内部时钟不用管的,开机自动使用内部时钟。
while(!(RCC->CR>>1)); //检查HSI是否就绪
RCC->CFGR &= (~0x03); //清零CFGR的0、1位 HSI作为系统时钟
while(temp!=0x00) //读取CFGR的2、3为,判断是否是HSI作为系统时钟设置
{
temp=RCC->CFGR>>2;
temp&=0x03;
}
//此时HSI已经成为系统时钟
//HSI时钟就绪后,直接输出到MCO(PA8)
RCC->APB2ENR |= 1<&l
STM32 RCC实验 MCO脚输出时钟波形
最新推荐文章于 2023-08-18 10:04:06 发布
本文介绍了如何在STM32上通过RCC设置MCO(Microcontroller Clock Output)引脚,输出HSI、HSE或PLL时钟波形。通过示例代码详细展示了HSI、HSE和PLL作为系统时钟时的配置步骤,并提供了MCO输出的配置方法,最终在PA8引脚观察到时钟波形。
摘要由CSDN通过智能技术生成