STM32WL LSE起振问题:添加反馈电阻后的调试与分析
需积分: 5 167 浏览量
更新于2024-08-03
收藏 606KB PDF 举报
本文档主要讨论了在使用STM32WLE5JB开发板时遇到的一个问题,即在启用LSE(Low-Speed External Oscillator)作为外部时钟源后,LPUART的串口打印功能失效,程序在执行HAL_RCC_OscConfig函数时出现卡死。这个问题发生在客户在STM32CubeMX生成的工程中,原本在不使用外部时钟的情况下,LPUART可以正常工作。
首先,问题的确认阶段,建议客户检查LPUART的时钟配置,包括是否正确设置了HSE(High-Speed External Oscillator)和LSE的连接及配置。客户尝试了官方提供的LPUART唤醒例程,但结果依然相同,表明问题可能出在外部时钟的起振上。进一步测试发现,无论是更换32MHz晶振、调整负载电容还是使用TCXO(Temperature Compensated Crystal Oscillator),都无法检测到32MHz信号,程序在调用HAL_RCC_OscConfig时停滞。
问题分析深入到硬件层面,通过STM32WLATslave例程在客户样机上重现了问题,同样在该函数处卡死。然而,单步调试揭示了关键问题所在:LSE的初始化过程中存在问题,程序在等待LSE ready信号,但信号始终未出现。相关的代码片段显示了一个死循环,如果LSE未准备好,就会一直等待直到超时。
为解决这个问题,文档建议将RTC(Real-Time Clock)的时钟源更改为HSE_RTC,如图一所示。这样做之后,ATslave例程能够正常运行,表明HSE能够提供稳定的时钟,32MHz晶振起振成功。这表明可能存在硬件故障或LSE电路设计上的缺陷,需要进一步排查LSE的连接、供电以及是否受到干扰等因素。
本文提供了在STM32WLE5JB上使用LSE作为外部时钟源时遇到的起振问题的详细分析和解决方案,强调了时钟配置、硬件检查和信号稳定性在调试过程中的重要性。通过修改RTC时钟源,问题得到了解决,但仍需关注其他可能导致起振问题的潜在因素。
2024-03-15 上传
2024-03-20 上传
2023-07-09 上传
2023-07-09 上传
2023-07-09 上传
2023-06-21 上传
2023-06-03 上传
2023-05-30 上传
2023-05-18 上传
冻结的鱼
- 粉丝: 1877
- 资源: 157
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布