当手头上没有示波器,如何通过代码测试stm32外部晶振是否工作
1.首先查看stm32手册,可以知道有一个时钟控制寄存器(RCC_CR),在该寄存器中,第16位和第0位和25位和24位分别为:
HSEON:外部高速时钟使能 (External high-speed clock enable)
HSION:内部高速时钟使能 (Internal high-speed clock enable)
PLLRDY:PLL时钟就绪标志 (PLL clock ready flag)
PLLON:PLL使能 (PLL enable)
如下图:
因此,当在串口以%x的形式打印RCC_CR寄存器的值的时候,输出的内容为0x3035283(也有可能为0x3035183)时,,此时第0位和第16位都为1,第25位和第24位也都为1,因此使用了外部晶振作为时钟源(因为stm32开始上电初始化时,需要内部8M晶振工作来进行初始化)。
当注释掉system_stm32f10x.c中的SystemInit()函数中的SetSysClock()函数,系统将默认使用内部时钟,此时读出RCC_CR寄存器的值为0x5283(或者0x5183),此时第16位、25位、24位都为0,第0位为1。
- 但是笔者之前在项目开发时,遇到了一个测试值,输出的内容为0x15283。这时,第0位和第16位都为1,但是第25位和24位都为0
经过查阅stm32手册,发现stm32内部有时钟安全系统,如下图所示:
- 内容大概就是,当使用HSE振荡器(外部晶振)作为输入时钟时,当发生时钟故障时,PPL输入时钟将会被关闭,切换到内部的HSI振荡器(内部晶振),因此RCC_CR寄存器中25位和24位都为0,此时stm32使用内部晶振作为时钟源
经过笔者的排查,发现确实是外部的晶振损坏了,当换上新的晶振后,工作正常。
因此,当开发项目时,测试发现RCC_CR寄存器中外部PLL时钟的位都为0时,如果外部电路测试没问题的话, 基本上就是外部晶振的问题了。
当手头上没有示波器,如何通过代码测试stm32外部晶振是否工作相关推荐
- stm32F103采用内部晶振8MHz时钟和外部晶振初始化代码
使用HSE配置系统时钟(stm32F10x 系列 外部晶振一般为4M–25MHz,具体见芯片手册) 首先需要复位RCC寄存器! 使能HSE 判断HSE是否启动成功 使能预取指 设置FLASH等待周期 ...
- STM32系列修改外部晶振以及代码的修改(f103、f105为例)
此文章为引用 正点原子详细讲解 刚刚接触STM32的时候,用的都是8M晶振.比如你想更换到为外部晶振为12M,但是主频仍想用72M的.该如何设置?或者想倍频到更高的主频该怎么修改? 例子就直接直接拿& ...
- 无源晶振用示波器如何测量
首先要了解无源晶振的原理,测试无源晶振,要清楚的知道无源晶振有四脚和两脚之分,更要明白无源晶振的电路原理图和脚位图,才能对测试的结果的把控有效的掌握.下面扬兴科技与您一起学习和探索晶振测试的方法吧. ...
- 计算机主板上实时时钟晶振频率为,电脑主板晶振的识别及测量方法介绍
一. 单位:赫兹"Hz" 1MHz=1000kHz=1000000Hz 符号: "X.Y" 二. 晶振的分类: 主板上晶振主要分为: 1.时钟晶振: 与时钟芯相 ...
- STM32使用非8M晶振时如何修改代码
目前能找到的大部分代码都是默认8M外部晶振的,若使用的晶振不是8M则需要作一些修改.例如这次我使用的外部晶振是12M的,作如下修改. 1.首先需要修改"Option for target ' ...
- 强强联合!Papers with Code 携手 arXiv,上传论文、提交代码一步到位
转自 | 机器之心 作者 | 魔王 刚刚,机器学习资源网站 Papers with Code 宣布与论文预印本平台 arXiv 进行合作,论文作者在 arXiv 上上传论文时可以同步上传官方和社区代码 ...
- 强强联合!Papers with Code携手arXiv,上传论文、提交代码一步到位
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 刚刚,机器学习资源网站 Papers with Code 宣布与论文预印本平台 arXiv 进 ...
- 微型计算机实验代码,上师大,微型计算机实验全代码.doc
上师大,微型计算机实验全代码 实验一 LED实验 C8255 EQU 21AH CW8255 EQU 21BH CODE SEGMENT ASSUME CS:CODE,DS:CODE START: P ...
- php上传头像的代码,php头像上传预览实例代码
说道上传图片,大家并不陌生,不过,在以后开发的项目中,可能并不会让你使用提交刷新页面式的上传图片,比如上传头像,按照常理,肯定是在相册选择照片之后,确认上传,而肯定不会通过form表单,点击submi ...
最新文章
- 一文带你了解光纤收发器和交换机之间的区别
- Gemini论文笔记
- 关于Docker官方CentOS镜像无法启动mysqld的总结
- AWS 专家教你使用 Spring Boot 和 DJL ,轻松搭建企业级机器学习微服务!
- Google走了 站长应该更相信百度
- 搭建大数据开发环境-Hadoop篇
- 如何修改zblog的css,修改Zblog中的CSS的方法
- 06-移动端开发教程-fullpage框架
- L1-052 2018我们要赢 (5 分)—团体程序设计天梯赛
- 基于java电子病历管理系统设计与实现
- java excel图表_Java 创建Excel图表
- 【大咖说】激活数据价值,永洪科技智胜法则
- Mac配置iTem2主题、字体、颜色
- Java自定义连接池
- MySql数据库简介(一)
- 【java】 【接口】【继承】【抽象类】案例 运动员和教练
- 十四、关于利用卡诺图快速解决时序电路自启动问题的研究
- 【博学谷学习记录】超强总结,用心分享 | java基础
- Android修改默认打开WLAN随时都可扫描
- import win32api出错
热门文章
- 睡眠---全面少眠的时代,你睡得好吗?
- 关于App自动化执行链接Appium服务包名正确但是报错An unknown server-side error occurred while processing the command
- Linux下MySQL报Table 'xxx' doesn't exist错误解决方法
- 快乐,因为有你——五一苏行记(一)
- 6月3日至5日 服务器信息维修,6月5日服务器例行维护公告(已完成)
- 越权修改用户密码案例
- 获取定位及附近位置 , 输入框搜索附近位置(三种方法)
- 安卓淘宝商店界面之高仿类CollapsinToolBar 直接搬运到项目中
- 41.Isaac教程--使用DOPE进行3D物体姿态估计
- 运维面试必问的负载均衡高频面试题(2021年最新版)