select326 发表于 2018-8-23 18:13:38

STM32F103C8T6 晶振换成25M的

大神们,如果 把STM32F030K6T6 和 STM32F103C8T6 的晶振换成25M的,可以吗?

xiaoshen-372360 发表于 2018-8-23 18:25:19

可以的,不过要注意两个地方,第一个就是systeminit()那个函数里面需要配置时钟,根据晶振的类型来选择晶振类型,要注意MQPV四个分频以及倍频参数的设置,还有就是里面有定义系统时钟的定义,需要改成25M,不然的话你的开发版的时钟可能是跑的最高的72M,但是你在设置串口波特率的时候就不对了。

wenyangzeng 发表于 2018-8-23 19:08:37

本帖最后由 wenyangzeng 于 2018-8-23 19:10 编辑

F0可以使用25MHZ



F1只能使用到16MHZ




电子星辰 发表于 2018-8-23 20:36:52

楼上说得对,F1不能用25M

feixiang20 发表于 2018-8-23 23:32:55

STM32F103采用的是ARM的cortex-M3系列内核,属于最新的ARMv7架构(不是ARM7),用Jlink可以识别。代码来改

toofree 发表于 2018-8-24 00:02:57

我也不知道该信谁,F103只用过8M晶振。手册上说F030可以支持4到32M外部晶振,F103X8是4到16M晶振。







wudianjun2001 发表于 2018-8-24 08:33:54

看具体的手册上的说明

Johnson Cao 发表于 2018-8-24 09:12:54

./StdPeriph_Driver/src/stm32f10x_rcc.c:196:extern uint32_t HSE_CLOCK_VALUE;
./StdPeriph_Driver/src/stm32f10x_rcc.c:930:      RCC_Clocks->SYSCLK_Frequency = HSE_CLOCK_VALUE;
./StdPeriph_Driver/src/stm32f10x_rcc.c:955:          RCC_Clocks->SYSCLK_Frequency = (HSE_CLOCK_VALUE >> 1) * pllmull;
./StdPeriph_Driver/src/stm32f10x_rcc.c:959:          RCC_Clocks->SYSCLK_Frequency = HSE_CLOCK_VALUE * pllmull;
./StdPeriph_Driver/src/stm32f10x_rcc.c:988:          RCC_Clocks->SYSCLK_Frequency = (HSE_CLOCK_VALUE / prediv1factor) * pllmull;
./StdPeriph_Driver/src/stm32f10x_rcc.c:996:          RCC_Clocks->SYSCLK_Frequency = (((HSE_CLOCK_VALUE / prediv2factor) * pll2mull) / prediv1factor) * pllmull;

Johnson Cao 发表于 2018-8-24 09:13:24

RCC里有部分地方需要修改

select326 发表于 2018-8-24 09:15:55

有了大神们的资料支持,我相信STM32F030K6T6 上25M晶振是没有问题了,只是,上了25M晶振后,是不是要给芯片加大散热 ??
页: [1] 2
查看完整版本: STM32F103C8T6 晶振换成25M的