大家都知道STM32F103C8T6的主频是72M,那怎么样才能在程序中获得这个主频的值呢?怎么样才能更改主频的值呢?
如图找到主频的变量,然后显示这个变量就是显示主频了。
#include "stm32f10x.h" // Device header
#include "OLED.h"
int main(void)
{
OLED_Init(); //oled 屏幕初始化
OLED_ShowString(1,1,"Freq:");
OLED_ShowNum(1,6, SystemCoreClock, 8); //OLED显示主频数值
}
上面是怎么显示主频的方法,下面是怎么更改主频的方法了:
想要修改主频就得修改这些个带有小钥匙的文件,首先要把这些个文件的属性修改了,修改成不是只读的属性,具体的方法就是先在工程文件夹中找到stm32f10x.c这个文件,然后修改它的属性:
按照上面的方法把文件的属性中的只读去掉,就可以了。
依据下方的方法把自己想要的主频的一行解开注释,把72M的一行注释掉,就这样更改了主频。
比如下面我更改了主频为24M的结果就是:
这样主频就更改成了24M了,编译下载后的结果就是:
如果想改成其他的主频,就自行更改就好了。更改主频的好处就是节省电量了,频率降低一半,耗电量也会降低一半的,有充足电源的时候不用考虑,如果是电池供电,那就很有必要了。缺点就是程序运行速度会变慢了。如果有些地方一天24小时只采集一次数据,那就快慢无所谓了。这个问题咱们就不深究了。