通过修改system_stm32f0xx.c超频

/ 0评 / 0

我有点强迫症的感觉,不想在主程序里面改,就想在这里改,改了还没人发现,太聪明了.[不利于代码阅读,你知道超频了就好,当然可以修改顶部描述.]

如果使用官方的文件,默认就是RCC_CFGR_PLLMULL12,改成最大RCC_CFGR_PLLMULL16,轻松到64MHz,至于稳定不稳定,多测试才知道.

如果你输入的8MHz时钟不想分频了,就可以提升到128MHz[估计跑飞了吧.],删掉以下两句:

RCC->CFGR2 &= (uint32_t)((uint32_t)~(RCC_CFGR2_PREDIV1));
RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV1_DIV2);

如果你还能稳定跑,那么,你已经超频2.5倍以上了,功耗肯定是直线上升的.当然可以再Tweak一句,在SystemInit函数下,把所有时钟都打开吧,反正你都超频了,也不差那点了.

/* Enable All Clock */
RCC->AHBENR = 0x005E0055;
RCC->APB1ENR = 0x10624912;
RCC->APB2ENR = 0x00475A01;

跑吧,估计会跑飞,怎么确定内核还活着,我觉得就点个流水灯都会飞了... 然后就大姨妈HardFault_Handler里面.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注