首先先了解,一个程序在运行时
先运行SystemInit()函数,再运行int main()函数
一.修改Debug中的时钟
修改Core Clock为36
二.修改系统文件system中的系统时钟频率
在左侧找到startup_stm32f10x_ms打开,先找到SystemInit,右键跳到定义,大概在133行
往下滑一点找到SetSysClock();右键跳到定义
这里的逻辑和if和else相同,如果没定义什么则定义什么.该逻辑最后是定义了SYSCLK_FREQ_72MHz;
所以找到SYSCLK_FREQ_72MHz;右键跳到定义
在这里就可以修改系统时钟了,对需要的系统时钟解除注释,不需要的时钟增加注释
如果修改不了找到system_stm32f10x.c文件,右键属性,把只读去掉,这样子才可以修改
这里我们需要36M,这是修改完成的样子
到这里就修改成功了
在硬件调试中可以用Delay测试.
首先确保系统时钟和Debug的时钟都为72M,调试的Delay_s(1)时若延时为1s.
则系统时钟和Debug改为36M时,不改变Delay函数,调试时Delay_s(1)延时为2s.
原理为:频率缩小一倍,周期增大一倍.
不会硬件仿真的可以用LED闪烁来看灯亮灭的时间,时间由原本的亮1s到亮2s.