STM32l452 倍频失败,实际测量反推算主频只有16M
STM32L452 开启定时器2做计数,1S计数一次。通过管脚输出翻转测频率,管脚设置为推挽输出,高速。按照现在定时器才输出1S定时时间。反推主频只有16M。我感觉是外部晶振失效或者没有,系统是用了内部的HSI时钟,16M的。你可以仿真看看相应的寄存器,是不是使用HSI。 用点灯程序测试下,外部晶振是否工作。 对,基本上用CubeMX 配出的程序时钟是不会错的(软件上)。所以一定是你的晶振电路没有起震。我总遇到这种问题。我自己搭的电路基本上外部晶振电路总是有问题。我都开始怀疑是不是我买的晶振是坏的了 感谢各位的回答,外部晶振工作正常,示波器测量8MHZ。并且单步调试HSE配置正确。寄存器也有相应的值。但是我不清楚为啥MSION也置位了,我强制清楚无效。没有发现有改变的程序,应该是硬件置位。 更加奇怪的是,我是用HSI做倍频到80MHZ,测量实际IO翻转频率反推主频还是16MHZ。
RCC->CR 寄存器default值就是 0x63
这个是我的L432 的时钟配置用的HSI可以参考一下
Cortexxx 发表于 2018-5-8 19:15
RCC->CR 寄存器default值就是 0x63
这个是我的L432 的时钟配置用的HSI可以参考一下
感谢您的回复,RCC->CR 默认值为0x63我倒是注意了,我寻则了同样HSI作为时钟源。配置为80MHZ。寄存器值如下。我对照数据手册看一遍没有发现问题。
对寄存器RCC->PLLCFGR的值,不解
干 ! 你怎么把PLLCFGR 都置1啦~你看一下数据手册 和 CubeMX的时钟配置的顺序
HSI->PLLM->PLLN->PLLR ->SYSCLK
如何从16MHz倍频到80MH要不就直接修改代码。直接改成我Code的样子 这个值不是我配置的,我现在想清除,都困难,人为清除,又出来了,没发现有软件哪里给修改的。:L