大家对晶振在电路中的作用肯定很了解,晶振作为电路中的心脏,具有极其重要的作用,在各种电子产品设备中广泛应用,如果出现不振就会导致整个设备不能正常工作。但是,类似STM32这种MCU是有内部晶振的,默认使用外部晶振时,若外部晶振损坏,会出现什么情况?芯片自动切换到内部晶振程序继续运行还是单片机死机?今天就来验证一下晶振损坏情况下的芯片运行情况,下面做一下实验测试一下。
01找一块开发板
如下图中是STM32的一个最小系统板,在本公众号下回复【STM32】可以索取关于STM32的全部视频和例程资料。
今天就用这个最小系统板进行测试验证。
02修改晶振
为了方便后面的操作,将开发板的晶振焊接的引脚裸露在外。在这里要特别说明一下:现在这样焊接是为了方便后面的验证,在实际产品中,一定要保证晶振焊接可靠、稳定,否则容易影响产品的稳定性。
03编写程序
编写LED闪烁的程序,用LED是否闪烁以及闪烁的频率来证明芯片工作的状态。时钟初始化程序如下:引脚初始化程序如下:void SystemInit (void)
{
/* Reset the RCC clock configuration to the default reset state(for debug purpose) */
/* Set HSION bit */
RCC->CR |= (uint32_t)0x00000001;
/* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */
RCC->CFGR &= (uint32_t)0xF8FF0000;
RCC->CFGR &= (uint32_t)0xF0FF0000;
/* Reset HSEON, CSSON and PLLON bits */
RCC->CR &= (uint32_t)0xFEF6FFFF;
/* Reset HSEBYP bit */
RCC->CR &= (uint32_t)0xFFFBFFFF;
/* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */
RCC->CFGR &= (uint32_t)0xFF80FFFF;
/* Disable all interrupts and clear pending bits */
RCC->CIR = 0x009F0000;
/* Reset PLL2ON and PLL3ON bits */
RCC->CR &= (uint32_t)0xEBFFFFFF;
/* Disable all interrupts and clear pending bits */
RCC->CIR = 0x00FF0000;
/* Reset CFGR2 register */
RCC->CFGR2 = 0x00000000;
/* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */
/* Configure the Flash Latency cycles and enable prefetch buffer */
SetSysClock();
}
LED闪烁的程序如下:GPIO_InitTypeDefGPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin = PB8_LOAD_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
PB8_LOAD_1;
04将晶振引脚剪断PB8_LOAD_1; //PB8输出高电平
DelayMs(100); //延时
PB8_LOAD_0; //PB8输出低电平
DelayMs(100); //延时
详情可参考下面的视频过程。 我们发现,剪断晶振的引脚后,LED的闪烁频率发生了改变,证明晶振的引脚损坏时,单片机程序仍然在运行。
特殊说明:
1、本实验仅仅验证了单片机程序是否运行,并不能代表晶振掉了后,我们设计的产品的功能仍然正常;由于系统时钟发生改变,依赖于时钟的功能模块肯定工作不正常,比如串口通信、周期定时的任务等;2、现在验证测试的程序可能与您产品中的程序有所差异。 3、现在只是验证了晶振掉了的情况(晶振掉了后,单片机程序仍然在运行),但是若晶振出现引脚对地短路、2个引脚之间短路、晶振对电源短路等不同情况,结果可能不同。
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
单片机
+关注
关注
6002文章
43981浏览量
620891 -
晶振
+关注
关注
32文章
2478浏览量
66856 -
STM32
+关注
关注
2240文章
10675浏览量
348846
原文标题:把STM32的晶振剪下来,正在运行的程序还能运行吗?单片机会死机吗?
文章出处:【微信号:精通单片机与嵌入式,微信公众号:精通单片机与嵌入式】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
在高速和超高速运行情况下,高速变频电机的测试至关重要
高速变频电机是指转速超过10000r/min,一般都是几万转甚至达到十几万转,在电动汽车、分布式发电系统中具有广阔的应用前景。在高速和超高速运行情况下,电机的运行特性与常规电机有很大的不同,对高速电机进行相关测试是至关重要的。
CY8C4025AXI-S412在什么情况下外部晶振会自动跳转到内部晶振?能再跳转回外部晶振吗?
我使用的是CY8C4025AXI-S412,请问在什么情况下外部晶振会自动跳转到内部晶振?能再跳转回外部
发表于 03-06 06:04
在不改变内部程序的情况下,只想改变外部元件,如晶振等,怎样才能让实时时钟加快,
在不改变内部程序的情况下,只想改变外部元件,如晶振等,怎样才能让实时时钟加快,如用1秒的时间跳30秒?
发表于 05-16 17:55
选择晶振需要注意的五个方面
,频率最为重要,不能随便替换频率。一定要经过合格验证或者专业测试通过的情况下,再进行协商。如果实际电路要求的频率是4.43MHZ,在没有货源的情况下,切勿随便更换差不多的频率来使用; 三、晶
发表于 07-01 14:34
IAP15F2K61S2不接外部晶振的情况下下载程序
IAP15F2K61S2不接外部晶振的情况下下载程序,在不勾选选择内部时钟的情况下可以下载,勾选了却下载不上,这是什么情况?有人知道吗?
发表于 07-23 13:17
在线实时监控UPS电源运行情况及环境温湿度的变化情况
一、方案背景:某机房管理员通过网络联系到我们,希望能在线实时监控机房内一台科华UPS电源运行情况及环境温湿度的变化情况,随时了解机房环境的实时温度、湿度以及UPS电源的电压、电流、温度、负载、输入
发表于 12-28 07:32
什么情况下芯片容易坏呢
芯片是在电子学中一种将电路小型化的方式,并且时常制造在半导体晶圆表面上。相信很多小伙伴都经历过芯片坏掉的情况,那么什么情况下芯片容易坏呢?
评论