STM32修改主频的方法

大家都知道STM32F103C8T6的主频是72M,那怎么样才能在程序中获得这个主频的值呢?怎么样才能更改主频的值呢?

如图找到主频的变量,然后显示这个变量就是显示主频了。

cs 复制代码
#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小时只采集一次数据,那就快慢无所谓了。这个问题咱们就不深究了。

相关推荐
炸膛坦客20 分钟前
FreeRTOS 学习:(二十八)任务调度器 + 启动第一个任务(了解)
stm32·单片机·操作系统·freertos
rosir_zhong2 小时前
嵌入式开发中FIFO buffer的使用
单片机·嵌入式硬件
广药门徒2 小时前
PADS同网络相邻引脚怎么走出粗线 FPC 电源布线如何布出粗线
嵌入式硬件
炸膛坦客3 小时前
FreeRTOS 学习:(二十七)死等延时函数会对任务调度产生什么影响
stm32·操作系统·freertos
A星空1234 小时前
二、交叉编译工具链(arm-linux-gnueabihf-gcc)安装与验证,搭建 TFTP+NFS 服务,调试开发板网络连通性;
linux·c++·驱动开发·单片机·嵌入式硬件
z20348315204 小时前
Keil界面优化配置,快捷键格式化配置,警告屏蔽
单片机
搁浅小泽4 小时前
空调风机、四通阀、电辅热的电源如何取电?
单片机·嵌入式硬件·可靠性工程师
恶魔泡泡糖5 小时前
51单片机DS1302时钟
单片机·嵌入式硬件·51单片机
2501_918126915 小时前
野火stm32怎么玩
stm32·单片机·生活·个人开发
czhaii5 小时前
AiCube-ISP功能最全面,界面最友好,操作最方便的取模工具
单片机