完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
使用STM32F103,从停止模式唤醒时调用以下函数进行时钟初始化,外部晶振故障的情况下,单片机多次唤醒后会有死机情况,怀疑是在外部晶振故障的情况下启动外部晶振,会有导致单片机死机的概率。请问有没有遇到这个问题或者清楚这个问题的老铁?
void sysclocksetback(void) { __IO uint32_t StartUpCounter = 0,time_out=0x500,HES_status=0; /*根据标志状态选择启动外部时钟*/ RCC_HSEConfig(RCC_HSE_ON); while((HES_status==0) (StartUpCounter <= time_out)) { HES_status=RCC_GetFlagStatus(RCC_FLAG_HSERDY); StartUpCounter++; } if(HES_status) { /*使能时钟故障监测*/ RCC_ClockSecuritySystemCmd(ENABLE); /*!< PLLCLK = 8MHz(HSE) * 6 = 48 MHz */ RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_6); /*使能pll*/ RCC_PLLCmd(ENABLE); StartUpCounter=0; while((RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==0) (StartUpCounter <= time_out)) { StartUpCounter++; } /*选择pll做时钟源*/ RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); StartUpCounter=0; while((RCC_GetSYSCLKSource()!=0x08) (StartUpCounter <= time_out)) { StartUpCounter++; } } else { /*禁能时钟故障监测*/ RCC_ClockSecuritySystemCmd(DISABLE); /*!< PLLCLK = 8MHz(HSI)/2 * 6 = 48 MHz */ RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_12); /*使能pll*/ RCC_PLLCmd(ENABLE); StartUpCounter=0; while((RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==0) (StartUpCounter <= time_out)) { StartUpCounter++; } /*选择pll做时钟源*/ RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); StartUpCounter=0; while((RCC_GetSYSCLKSource()!=0x08) (StartUpCounter <= time_out)) { StartUpCounter++; } } } |
|
相关推荐
2个回答
|
|
|
楼主,time_out是多长时间。RCC_HSEConfig(RCC_HSE_ON);失败以后再关闭一下HSE时钟。
|
|
|
|
|
|
通常低功耗唤醒之后是由内部HSI 作为启动后的时钟,然后再去初始化外部时钟和锁相环等
1. 如果HSE之前能正常工作的话,通常再次启动很少会启动不了的。当然启动是要一点时间。楼主的软件timeout很难估算多长时间。建议延长这个值。 另外楼主怀疑晶振启动故障,不妨只用HSI 试试,看看会不会还出现故障。 2. 可以在时钟配置处增加跟踪代码,看看是不是此处引起的。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
4140 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
3228 浏览 1 评论
2753 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
2181 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
14984 浏览 2 评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
3087浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
1896浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
2066浏览 3评论
1979浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
2168浏览 3评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 12:16 , Processed in 0.973599 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5801