stm32 8m晶振不起振的原因

来源:本站
导读:目前正在解读《stm32 8m晶振不起振的原因》的相关信息,《stm32 8m晶振不起振的原因》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《stm32 8m晶振不起振的原因》的详细说明。
简介:本文主要讲了stm32 8m晶振不起振的原因,下面一起来学习一下:

STM32板子突然出了大问题。所以延时函数都变慢9倍。

我的延时函数是用的SysTick函数精确延时。

因为第一步需要初始化时间,一般8M的晶振我们都要初始化72.因为系统一般都是倍频9倍的。

但是今天貌似是系统没有倍频9倍。

所以才导致整体时间是原来9倍长。

后来发现倍频是在

RCC_HSEConfig(RCC_HSE_ON);

HSEStartUpStatus = RCC_WaitForHSEStartUp();

if(HSEStartUpStatus == SUCCESS)

成功后才设置的如果HSEStartUpStatus不等于1那么就不会执行倍频。也就是说只能使用内部自带的8M晶振了。

后来单步调,发现确实是这个HSEStartUpStatus一直为0.也就是一直没有检查到外部晶振。

于是乎我们开始确实晶振是不是没有起振。

用了示波器,确定确实是晶振没有起振。

那么是晶振问题还是板子问题呢。

以前的电路一直都是这么花的,而且都没出现过问题。

换了一个晶振还是有问题。

难道是电容问题。

以前都是用22P的电容。

于是都换成20P居然就好了。

还是有点不解,理论上电容应该不会有这么大的影响。

不过问题是解决了。

希望大家如果遇到相同的问题,可以试着换一下电容。

晶振不起振原因分析:

(1) PCB板布线错误;

(2) 单片机质量有问题;

(3) 晶振质量有问题;

(4) 负载电容或匹配电容与晶振不匹配或者电容质量有问题;

(5) PCB板受潮,导致阻抗失配而不能起振;

(6) 晶振电路的走线过长。

提醒:《stm32 8m晶振不起振的原因》最后刷新时间 2024-03-14 00:53:09,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《stm32 8m晶振不起振的原因》该内容的真实性请自行鉴别。