stm32f103c8t6

本文详细介绍了如何在STM32F103C8T6微控制器上将外部晶振从8M更换为12M时,所需进行的程序修改步骤。主要内容包括修改启动文件中的系统时钟初始化、更新stm32f10x.h头文件中的HSE_VALUE定义,以及调整PLL配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	STM32F103C8T6  由12M晶体代替8M晶体,程序需要修改的地方

1.首先打开startup_stm32f10x_hd.s文件,右击systemInit,进入函数;在SystemInit函数中,找到SetSysClock()函数,右击进入函数;在SetSysClock()函数中找到SetSysClockTo72(),把系统时钟设置为72MHZ,右击进入函数; 在函数中找到
/* PLL configuration: PLLCLK = HSE * 9 = 72 MHz // PLL configuration: PLLCLK = HSE * 9 = 72 MHz /
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
RCC_CFGR_PLLMULL));
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9),将最后的RCC_CFGR_PLLMULL9改为RCC_CFGR_PLLMULL6,12
6,刚好72MHZ;
2.在stm32f10x.h中找到
#if !defined HSE_VALUE
#ifdef STM32F10X_CL
#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz /
#else
#define HSE_VALUE ((uint32_t)8000000) /
!< Value of the External oscillator in Hz /
#endif /
STM32F10X_CL /
#endif /
HSE_VALUE */

#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up */

#define HSI_VALUE ((uint32_t)8000000) /!< Value of the Internal oscillator in Hz/,
把8000000,改为12000000;
3.将8.0改为12.0.在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值