STM32L073 LQFP100外接32768Hz晶振LSE不起振导致LPTIM1无法计数
可能的故障原因排查方向
- RCC时钟配置遗漏:你当前的LPTIM初始化代码仅配置了LPTIM使用LPOSC(低功耗振荡器)作为时钟源,但没有在RCC配置中完成两项关键操作:1)开启LSE时钟并等待其起振就绪;2)将LPOSC的时钟源切换为LSE。若未完成这两步配置,即便硬件连接正确,LPTIM也无法获取到LSE时钟输入。你可以检查RCC初始化代码,确认LSE开启逻辑、就绪等待逻辑、以及LPTIM时钟源绑定逻辑是否正确。
- 引脚功能冲突或硬件短路:
- 确认自研板上RCC_OSC32_IN、RCC_OSC32_OUT两个引脚没有被复用为其他GPIO功能,若代码中其他位置对这两个引脚做了GPIO模式配置,会覆盖晶振输入功能,导致LSE无法起振。
- 拆下晶振和匹配电容后,测试两个引脚的对地电阻、以及两个引脚之间的电阻,确认不存在对地短路、引脚互短、或与其他信号线路短路的情况,你测得RCC_OSC32_IN恒为0V,大概率存在该类硬件短路问题。
- LSE驱动强度不匹配:STM32L0系列的LSE振荡器支持多档驱动强度配置,默认配置通常为低驱动模式。若自研板的晶振走线较长、寄生电容大于开发板的走线寄生参数,默认低驱动强度不足以驱动晶振起振,可以在RCC配置中调高LSE的驱动等级,再测试起振情况。
- 芯片本身硬件损坏:焊接过程中静电击穿、焊接温度过高都可能损坏芯片的LSE振荡器外设,你可以更换一片全新的未使用过的STM32L073芯片焊接到自研板上,排除芯片本身损坏的问题。
- 示波器测量影响:32768Hz低速晶振的驱动能力极弱,若使用1x档位的示波器探头测量,探头的输入电容通常超过50pF,会直接拉停晶振振荡。测量时请使用10x档位的探头,减小测量负载对晶振的影响。
内容的提问来源于stack exchange,提问作者Static
相关产品推荐
相关产品推荐

