使用PIO问题:STM32的外部晶振从8M更换为12M,解决运行速度的问题

环境:

如果大家有参考的地方,要注意是否和我使用的STM32的平台版本一样。如果不同,可能要修改的地方会有不同的地方。

1.串口波特率、系统时钟TICK错乱

如果使用原来的编译方式,会导致串口的波特率的错乱。现在要确定如何将该问题解决。

参考一个博客stm32外部时钟源8M晶振换成12M

这里的可以找到HSE_VALUE的值来修改!

2.问题初步的解决

  1. 进入C:Usersiccad.platformiopackagesframework-arduinoststm32@4.10900.200819systemDriversSTM32F1xx_HAL_DriverInc文件夹,复制stm32f1xx_hal_conf_template.h文件,粘贴到本文件夹,重命名stm32f1xx_hal_conf.h。
  2. 开始修改conf文件,F1系列单片机没有定义DAC,编译后会报错。将44行的宏定义注释掉。
  3. 修改HSE_VALUE,在conf文件中的82行,我们进行更改为12000000。
  4. 修改varaint文件中的时钟配置。本次的配置使用的是generic_F103Cx中的管脚配置文件。我们进入文件夹找到函数SystemClock_Config。进行修改其中的倍频系数,由于最高的频率是72M = 12*6。所以这里的倍频系数修改成6。

3.参考设置

首先是在cube中生成的参考图形

可以使用这种方式来读取系统的时钟频率

原文地址:https://www.cnblogs.com/breakr-yu/p/15320259.html