欢迎来到泰骏兴电子,大家有问题可以直接联系管理员QQ:233619809单片机 QQ群:59194556 各位游客也可以注册玩玩,享受更多权益。温馨提示:本网站仅提供平台学习以及渠道,一切后果自行承担,还望广大用户提高自我意识,请不要轻易相信他人,请不要轻易相信他人,请不要轻易相信他人。为了更好的管理论坛工作,所以现在使用邮箱注册,如果以前的邮箱不能修改的,请联系管理员代为修改

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 115|回复: 0

STM32F103芯片超频测试程序

[复制链接]
发表于 2025-7-14 17:19:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
[AppleScript] 纯文本查看 复制代码
void RCC_HSE_Init(uint32_t RCC_PLLMul_x)//范围2-16
{
			__IO uint32_t HSES_tatus=0;
			RCC_DeInit();//重置RCC,不然不会有效果
			RCC_HSEConfig(RCC_HSE_ON);//使能HSE
			HSES_tatus=RCC_WaitForHSEStartUp();//获取HSI状态,等待HSI稳定
			if(HSES_tatus==SUCCESS)//判断HSE的状态,是否已启动
	{
			FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//从FLASH预取指使能
			FLASH_SetLatency(FLASH_Latency_2);//flash预取指等待时间配置

			//对AHB APB1 APB2分频
			RCC_HCLKConfig(RCC_SYSCLK_Div1);
			RCC_PCLK1Config(RCC_HCLK_Div2);
			RCC_PCLK2Config(RCC_HCLK_Div1);
			
			RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_x);//配置PLL时钟源和倍频因子(官方库中声明要先设置后打开PLL)
			RCC_PLLCmd(ENABLE);//使能PLL
			while( RCC_GetFlagStatus( RCC_FLAG_PLLRDY) == RESET);//等待PLL状态稳定后跳出语句
			RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK );//等待系统时钟切换完成
			while(RCC_GetSYSCLKSource()!=0x08);
	}
			else////HSE启动判断,如果启动失败时在此操作
	{
			
	}
}




此程序可以将CPU运行频率进行超频,超频范围:

#define RCC_PLLMul_2                    ((uint32_t)0x00000000)
#define RCC_PLLMul_3                    ((uint32_t)0x00040000)
#define RCC_PLLMul_4                    ((uint32_t)0x00080000)
#define RCC_PLLMul_5                    ((uint32_t)0x000C0000)
#define RCC_PLLMul_6                    ((uint32_t)0x00100000)
#define RCC_PLLMul_7                    ((uint32_t)0x00140000)
#define RCC_PLLMul_8                    ((uint32_t)0x00180000)
#define RCC_PLLMul_9                    ((uint32_t)0x001C0000)
#define RCC_PLLMul_10                   ((uint32_t)0x00200000)
#define RCC_PLLMul_11                   ((uint32_t)0x00240000)
#define RCC_PLLMul_12                   ((uint32_t)0x00280000)
#define RCC_PLLMul_13                   ((uint32_t)0x002C0000)
#define RCC_PLLMul_14                   ((uint32_t)0x00300000)
#define RCC_PLLMul_15                   ((uint32_t)0x00340000)
#define RCC_PLLMul_16                   ((uint32_t)0x00380000)



假设外部晶振为8M,选择RCC_PLLMul_9            则是8Mhz*9=72Mhz依次类推,

例如当前配置:RCC_HSE_Init(RCC_PLLMul_12);



超频有风险,请谨慎使用
一时超频一时爽
一直超频一直爽
遇见BUG火葬场
BUG让你怀疑人生




高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|泰骏兴电子科技有限公司 ( 粤ICP备2023060260号-1 ) 单片机爱好者

GMT+8, 2025-10-31 11:37

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表