单片机的外部晶振稳定,受温度,湿度等环境因素影响比内部振荡器小,精度比较高。而且当设计需要降低功耗时,比如说便携式仪表等,就需要外设晶振,因为内部振荡器不能根据需要停止,而外部晶振可以适时停止,从而进入休眠状态,降低功耗。

晶振被旁路原理

”晶振/时钟被旁路“ 是指将芯片内部的用于外部晶体起振和功率驱动等的部分电路和XTAL_OUT引脚断开,这时使用的外部时钟是有源时钟或者其他STM32提供的CCO输出等时钟信号,直接单线从XTAL_IN输入,这样即使外部有晶体也震荡不起来了

只有在使用外部时钟的时候是被旁路,注意不是晶体振荡器,也就是说当使用外部提供的时钟时(如使用有源振荡器),必须设置这个控制位旁路上述内置振荡器;可以理解把内部时钟关闭,打开外部时钟。

HSE模式配置(旁路模式)

外部时钟源(HSE旁路)

在这个模式里,必须提供外部时钟。它的频率最高可达25MHz。用户可通过设置在时钟控制寄存器中的HSEBYP和HSEON位来选择这一模式。外部时钟信号(50%占空比的方波、正弦波或三角波)必须连到SOC_IN引脚,同时保证OSC_OUT引脚悬空

该模式下必须提供外部时钟。用户通过设置时钟控制寄存器中的HSEBYP和HSEON位来选择这一模式。外部时钟信号(50%占空比的方波、正弦波或三角波)必须连到SOC_IN引脚,此时OSC_OUT引脚对外呈高阻态。

所谓HSE旁路模式,是指无需上面提到的使用外部晶体时所需的芯片内部时钟驱动组件,直接从外界导入时钟信号。犹如芯片内部的驱动组件被旁路了。

不过,在使用该模式时,经常有人出现配置错误,即使用跟HSE晶体模式一样的配置。这点在STM8/STM32应用中都有人发生。 所幸的是使用这个旁路模式的情形不像使用外部晶体模式那么多,不然可能更多人在这里遇到麻烦

我们不妨以STM3F4系列芯片为例。

关于寄存器位上面已经提到了,旁路模式除了配置HSEON还得配置HSEBYP位。

对于标准库函数voidRCC_HSEConfig(uint32_t RCC_HSE)

或CUBE库函数__HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState)里的相关参数可能是:RCC_HSE_ON、 RCC_HSE_Bypass或RCC_HSE_OFF的其中之一

stm32不使用外部晶振管脚怎么处理_外部晶体振荡器被旁路的原理和原因相关推荐

  1. stm32不使用外部晶振管脚怎么处理_stm32103如果不用32k晶振,那引脚是悬空还是接地?...

    如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理: 1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空. 2)对于少于100脚的产品,有2种接法: 2.1)OSC_I ...

  2. stm32启用内部晶振(stm32设置外部晶振)

    STM32中的晶振电路有什么作用 stm32  有两个可接入的外部晶振,自己内部也有低俗的晶振.举个例子,手册也有说明低速主要给RTC使用了,高速是给一些外设及内核提供时钟元,内部的主要是给看门狗用或 ...

  3. STM32 USB虚拟串口调试总结(内部晶振、外部晶振配置、硬件电路说明、测试方法)

    目录 1.参考链接: 2.虚拟串口硬件说明 2.1.程序中无需配置硬件的设计:D+直接接了3.3V的上拉电阻. 2.2.需要程序中配置D+上拉电阻使能的设计:可以软件模拟USB插拔,便于固件更新后自动 ...

  4. STM32 F103 外部晶振8M改为12M

    stm32 实现外部晶振变换有2种方法: 第一种修改系统库函数: 第一步,打开stm32f10x.h,将  #define HSE_VALUE    ((uint32_t)8000000)  修改为: ...

  5. STM32系列修改外部晶振以及代码的修改(f103、f105为例)

    此文章为引用 正点原子详细讲解 刚刚接触STM32的时候,用的都是8M晶振.比如你想更换到为外部晶振为12M,但是主频仍想用72M的.该如何设置?或者想倍频到更高的主频该怎么修改? 例子就直接直接拿& ...

  6. 关于STM32 RTC时钟使用内部/外部晶振的切换方法

    对于使用STM32单片开发项目的同志,经常会使用到STM32的RTC功能,而在配置RTC的功能时需要配置晶振的使用,可以使用内部晶振或外部晶振,配置流程参考官方的示例代码即可. 但在之前的项目中遇到一 ...

  7. (转载)STM32 外部晶振电路设计和匹配

    (转载来自:https://blog.csdn.net/Seaman_TY/article/details/93090532) STM32的时钟源 STM32F103有两种主时钟方案,一个是依靠内部R ...

  8. 当手头上没有示波器,如何通过代码测试stm32外部晶振是否工作

    1.首先查看stm32手册,可以知道有一个时钟控制寄存器(RCC_CR),在该寄存器中,第16位和第0位和25位和24位分别为: HSEON:外部高速时钟使能 (External high-speed ...

  9. STM32使用16M外部晶振时出现异常

    1.出现的问题: 本来是使用8M外部晶振的,但是暂时手上没有就使用了16M的外部晶振代替. 修改RCC配置代码如下: 将语句:RCC_PLLConfig(RCC_PLLSource_HSE_Div1, ...

最新文章

  1. lsnrctl start启动监听很慢(AIX平台)
  2. 广角相机app哪个比较好用_推荐一款比较好用的工作安排备忘app?
  3. 如何用word帮别人改文章呢?
  4. boost::coroutine模块实现相同的边缘的测试程序
  5. 五年了,别再把务虚会开 “虚” 了
  6. HTML和css学术报告,清华大学 张超 副教授访问我院并做学术报告
  7. c语言float判断相等,c/c++ 比较两个浮点数相等
  8. c语言 poll,c语言 linux 中 poll 的参数
  9. 听飞狐聊JavaScript设计模式系列11
  10. 那个清华哈佛双料女学霸, 辞职了
  11. java实现PDF转word,使用jacob插件
  12. 模板引擎 - Thymeleaf
  13. 自定义图标iconfont
  14. 【物联网取证篇】5G消息取证浅谈
  15. 【全面恢复受损的Word文档】
  16. 1883:北京旅行日记1276695923新浪博客
  17. 现代服务业行业税收筹划,信息技术公司节税方案
  18. Android 使用Service 实现的简易音乐播放器(有播放、暂停(继续)、重播、停止)
  19. C语言解析wav文件格式
  20. 屏幕后期处理之:Sobel算子实现边缘检测

热门文章

  1. 【面向对象】面向对象程序设计测试题4-Java中的类和对象测试
  2. 图的遍历(深度优先搜索法和广度优先搜索法)
  3. (转载)【TP5.0】设置session有效时长+修改默认存储路径
  4. MongoDB的查询语法和SQL的SELECT语法做对比
  5. Kettle入门--作业和转换的使用
  6. 浅谈ButterKnife对Android性能的影响
  7. 用Android Sutdio调试NDK
  8. 深入理解javascript原型链
  9. 《Java 20年:道路与梦想》迷你书发布
  10. 转:iOS应用程序生命周期(前后台切换,应用的各种状态)详解