手头有一块12MHZ外部硬件开发板,型号是STM32F103c8t6.准备实验一个项目。

可网上大部分源码程序都是8MHZ晶振的源码。由于是初学查了好久很困惑。

虽然使用CUBEMX的HAL库很容易改,起步就是HAL库,源码基础不牢。想用标准库的时候改下还挺费劲,查了好多贴不容查到。

先上图实际操作一下。

第一:找到system_stm32f10x.c文件打开:看头部说明,英文不好大致意思就是想更换的8MHZ换25MHZ,这段话。百度翻译一下:

*  4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on
  *    the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. 
  *    When HSE is used as system clock source, directly or through PLL, and you
  *    are using different crystal you have to adapt the HSE value to your own
  *    configuration.

机翻译:* 4.Hse crystal 的默认值设置为8mhz (或25mhz,在 * 所使用的产品上进行删除) ,参考“ stm32f10x.h”文件中定义的“ hse _ value”。* 当 hse 直接或通过 pll 作为系统时钟源时,如果你 * 使用的是不同的晶体,你必须根据自己的 * 配置调整 hse 值。

第二:根据说明找到打开stm32f10x.h文件,Ctrl+F查找“ hse _ value”.小写没找到,估计函数都是大写的习惯,换成HSE_VALUE,简写HSE意思就是外部晶振,VALUE数值;找到之后把8000000改成你想换的晶振12MHZ。执行一下,还是老样子,”不行啊“。在查。

第三:联想到HAL库既然是可以改晶振肯定是个倍数的关系,RCC_CFGR_PLLMULL9,8mhz是X9倍变成72mhz,那12mhz就应该变成X6倍。全部文件搜下RCC_CFGR_PLLMULL9.

出现好几个,点击查看第一个不是服务总目标72mhz的、再往下找。

第四:继续查找直到服务72 MHZ的目标出现。

刷机测试成公公来了!

总结一下:

用既往已知的知识去探索未知的知识。

对HAL库时钟函数稍微比这个熟悉一下。查倍频的关系来探索这个,最后搞定了。应该适用STM32全系列板子,

同理估计Arm系列标准库换晶振,大换小的,小的换回大的应该都是这个样的操作,

搞定成公公的别忘在评论区里面说下,分享一下快乐的同时又帮助了别人。

STM32 F103C8T6 标准库换晶振 硬件8MHZ 换12MHZ实测方法相关推荐

  1. STM32L151系列标准库时钟晶振修改

    STM32L151 标准库时钟晶振修改 此文档主要介绍如何修改STM32L151系列的标准库的时钟晶振 1.背景介绍 因为STM32的标准库函数中默认使用的外部8M的高速晶振,但是在实际的开发阶段,可 ...

  2. 【STM32】标准库与HAL库对照学习教程八--串口通信详解

    [STM32]标准库与HAL库对照学习教程八--串口通信详解 一.前言 二.准备工作 三.通信的基本概念 1.通信方式 2.串行通信与并行通信 (1)串行通信 (2)并行通信 3.异步通信与同步通信 ...

  3. STM32的标准库及其使用

    单片机的开发工作量,主要集中在两个地方,一是调通各种外设,二是实现产品功能. 像较高级的语言,比如c++/java/python等.因为将底层操作进行了封装,所以只需要集中关注第二点.事实上,越到后, ...

  4. 【STM32】标准库与HAL库对照学习教程十三--软件IIC控制AT24C02

    [STM32]标准库与HAL库对照学习教程十三--软件IIC控制AT24C02 一.前言 二.准备工作 三.AT24C02(EEPROM)介绍 1.AT24C02简介 2.引脚功能 3.设备地址 四. ...

  5. 将STM32的标准库编译成lib

    转载自:http://www.cnblogs.com/zyqgold/p/3189719.html 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这 ...

  6. 【STM32】标准库与HAL库对照学习教程六--位带操作

    [STM32]标准库与HAL库对照学习教程六--位带操作 一.前言 二.准备工作 三.位带介绍 1.位带操作 2.STM32位带及位带别名区域 四.位带区与位带别名区地址转换 五.GPIO的位带操作 ...

  7. 【STM32】标准库与HAL库对照学习教程外设篇--红外避障传感器

    [STM32]标准库与HAL库对照学习教程外设篇--红外避障传感器 一.前言 二.准备工作 三.红外避障传感器 1.传感器原理说明 2.传感器特性 四.标准库使用红外传感器 1.实验程序 2.实验效果 ...

  8. 【STM32】标准库与HAL库对照学习教程外设篇--超声波测距传感器

    [STM32]标准库与HAL库对照学习教程外设篇--超声波测距传感器 一.前言 二.准备工作 三.超声波测距传感器 1.原理说明 2.使用说明 四.标准库使用传感器 1.实验程序 2.实验效果 五.H ...

  9. 换晶振导致stm32串口数据飞码的解决办法(补充)

    今天(2014.4.21)把stm32f107的程序下载到stm32f103的板子上,发现串口收不到数据,突然想起晶振频率没有修改,#define HSE_VALUE    ((uint32_t)13 ...

最新文章

  1. logical_not torch
  2. 命名规则标识符 unix_关于全局唯一标识符
  3. UA SIE545 优化理论基础4 对偶理论简介4 求解对偶问题的割平面算法
  4. 美国和中国将成数据中心建设首选之地
  5. 牛客15666 又见斐波那契(矩阵快速幂)
  6. 新版二开cp盲盒小纸条月老小程序源码
  7. UE3 预计算可见性
  8. mysql端口4050_mysql 安装使用小记
  9. 实际开发中的问题积累【积累】
  10. 我写了14篇文章,总结了《具体数学》常用知识点
  11. vscode 配置sftp
  12. 64位程序core分析
  13. TP 打开 显示错误信息
  14. 无线射频收发芯片SI24R1技术相关问题解答
  15. 如何清理 WinSxS 文件夹-2022版
  16. torch.optim.lr_scheduler源码和cosine学习率策略学习
  17. 男生拍照姿势大全,这样拍才帅
  18. php fpm 开启status,启用php-fpm状态详解
  19. 银行营运服务管理平台建设方案
  20. Android_广播机制实战演练(数鸭子)

热门文章

  1. 取出datatable的某一行_jquery dataTable 获取某行数据
  2. math.cos,math.sin
  3. roslaunch mavros px4.launch fcu_url=xxxx到底做了什么
  4. 「衣米魔兽」魔兽世界怀旧服2019年年度礼品发放通知
  5. 知识产权和专利检索基础
  6. 拼多多 anti_content 解密
  7. 基于51单片机的自动售货机Proteus仿真
  8. 前端001 有彩色下划线的导航栏
  9. Android手机预装软件内藏大量漏洞
  10. 数据分析项目2-人口分析