flycamelaaa 发表于 2025-7-10 15:30

在STM32L4从HSE切换到HSI时,若HSE因外部干扰失效,唤醒后系统能否自动回退到HSI?

在STM32L4从HSE切换到HSI时,若HSE因外部干扰失效,唤醒后系统能否自动回退到HSI?

公羊子丹 发表于 2025-7-27 07:23

STM32L4系列本身不会自动回退时钟源,如果HSE失效,必须软件主动检测并切换回HSI。

周半梅 发表于 2025-7-27 07:23

你需要在主循环或时钟故障中断里检测HSE状态,一旦检测到HSE挂掉,手动切换时钟源到HSI。

帛灿灿 发表于 2025-7-27 07:24

有些工程会启用时钟安全系统(CSS),它能检测HSE失效并触发中断,提醒程序切换时钟。

童雨竹 发表于 2025-7-27 07:25

CSS触发后你必须在中断处理函数里写好切换逻辑,才能保证系统能快速切换回HSI继续运行。

万图 发表于 2025-7-27 07:26

自动回退其实是靠你软件设计的鲁棒性来实现,芯片不会自己管你时钟源切换。

Wordsworth 发表于 2025-7-27 07:28

如果没启用CSS,也可以周期性读RCC状态寄存器,监控HSE Ready位,判断是否掉电或失效。

Bblythe 发表于 2025-7-27 07:30

切换回HSI后,最好重新初始化外设时钟,特别是USART、ADC这类对时钟精度敏感的模块。

Pulitzer 发表于 2025-7-27 07:31

外部干扰导致HSE失效常见原因是电源噪声或晶振电路不稳定,硬件上也要做好屏蔽和滤波。

Uriah 发表于 2025-7-27 07:32

有些项目会设计双时钟方案,主用HSE,备用HSI,保证切换时不会死机。

Clyde011 发表于 2025-7-27 07:32

总之,STM32L4时钟切换机制很灵活,但软件设计必须主动响应硬件异常,才能保证系统稳定。

小夏天的大西瓜 发表于 2025-7-27 22:19

STM32L4系列本身不会自动回退时钟源
页: [1]
查看完整版本: 在STM32L4从HSE切换到HSI时,若HSE因外部干扰失效,唤醒后系统能否自动回退到HSI?